{"version":3,"sources":["node_modules/@vendasta/iam/fesm2020/vendasta-iam.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { map, share } from 'rxjs/operators';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'iam.vendasta-local.com',\n 'test': '',\n 'demo': 'iam-api-demo.apigateway.co',\n 'prod': 'iam-api-prod.apigateway.co',\n 'production': 'iam-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass LoginRequest {\n static fromProto(proto) {\n if (!proto) {\n return new LoginRequest();\n }\n let m = new LoginRequest();\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.namespace === 'undefined' && typeof this.type === 'undefined' && typeof this.email === 'undefined' && typeof this.password === 'undefined' && typeof this.providerIdToken === 'undefined' && typeof this.provider === 'undefined') {\n return {};\n }\n return {\n 'namespace': typeof this.namespace !== 'undefined' ? this.namespace : null,\n 'type': typeof this.type !== 'undefined' ? this.type : null,\n 'email': typeof this.email !== 'undefined' ? this.email : null,\n 'password': typeof this.password !== 'undefined' ? this.password : null,\n 'provider_id_token': typeof this.providerIdToken !== 'undefined' ? this.providerIdToken : null,\n 'provider': typeof this.provider !== 'undefined' ? this.provider : null\n };\n }\n}\nclass LoginResponse {\n static fromProto(proto) {\n /* eslint-disable */\n const m = new LoginResponse();\n m.sessionId = proto['session_id'];\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.sessionId === 'undefined') {\n return {};\n }\n return {\n 'sessionId': typeof this.sessionId !== 'undefined' ? this.sessionId : null\n };\n }\n}\nclass LogoutResponse {\n static fromProto(proto) {\n let m = new LogoutResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.success === 'undefined') {\n return {};\n }\n return {\n 'success': typeof this.success !== 'undefined' ? this.success : null\n };\n }\n}\nclass SSOLoginRequest {\n static fromProto(proto) {\n let m = new SSOLoginRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n if (typeof this.nextUrl === 'undefined' && typeof this.namespace === 'undefined' && typeof this.type === 'undefined') {\n return null;\n }\n return {\n 'next_url': typeof this.nextUrl !== 'undefined' ? this.nextUrl : null,\n 'namespace': typeof this.namespace !== 'undefined' ? this.namespace : null,\n 'type': typeof this.type !== 'undefined' ? this.type : null\n };\n }\n}\n\n/* eslint-disable */\nlet IamHttpApiService = /*#__PURE__*/(() => {\n class IamHttpApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions(includeCredentials) {\n if (includeCredentials) {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n withCredentials: true\n };\n }\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n }\n login(r) {\n const toApiJson = r.toApiJson;\n const request = typeof toApiJson !== 'undefined' ? r : new LoginRequest(r);\n return this.http.post(this._host + '/_ajax/v1/login', request.toApiJson(), this.apiOptions()).pipe(map(resp => LoginResponse.fromProto(resp)), share());\n }\n logout() {\n return this.http.post(this._host + '/_ajax/v1/logout', {}, this.apiOptions(true)).pipe(map(resp => LogoutResponse.fromProto(resp)), share());\n }\n ssoLogin(r) {\n const toApiJson = r.toApiJson;\n const request = typeof toApiJson !== 'undefined' ? r : new SSOLoginRequest(r);\n const params = new URLSearchParams();\n const apiJson = request.toApiJson();\n for (const key in apiJson) {\n if (!apiJson.hasOwnProperty(key)) {\n continue;\n }\n const value = apiJson[key];\n if (value === null) {\n continue;\n }\n params.append(key, value);\n }\n window.location.href = `${this._host}/sso-login?${params.toString()}`;\n }\n }\n IamHttpApiService.ɵfac = function IamHttpApiService_Factory(t) {\n return new (t || IamHttpApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IamHttpApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IamHttpApiService,\n factory: IamHttpApiService.ɵfac,\n providedIn: 'root'\n });\n return IamHttpApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar PersonaType = /*#__PURE__*/function (PersonaType) {\n PersonaType[\"partner\"] = \"partner\";\n PersonaType[\"partner_app\"] = \"partner_app\";\n PersonaType[\"sales_person\"] = \"sales_person\";\n PersonaType[\"smb\"] = \"smb\";\n PersonaType[\"vendor\"] = \"vendor\";\n PersonaType[\"digital_agent\"] = \"digital_agent\";\n PersonaType[\"developer\"] = \"developer\";\n PersonaType[\"success\"] = \"success\";\n PersonaType[\"account_group\"] = \"account_group\";\n PersonaType[\"crm_role\"] = \"crm_role\";\n return PersonaType;\n}(PersonaType || {});\nclass BasePersona {\n fromPersona(p) {\n const s = p.subject;\n this.subjectId = s.subjectId;\n this.email = s.email;\n this.created = s.created;\n this.updated = s.updated;\n this.lastLogin = s.lastLogin;\n this.userId = s.userId;\n return this.readAttributes(s.structAttributes);\n }\n readAttributes(attributes) {\n if (!attributes) {\n return this;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n const attrs = getValueFromAttribute({\n structAttribute: {\n attributes: attributes.attributes\n }\n });\n Object.assign(this, attrs);\n return this;\n }\n}\nclass TypedPersona extends BasePersona {}\nclass NamespacedPersona extends BasePersona {\n constructor() {\n super(...arguments);\n this.partnerId = '';\n }\n fromPersona(p) {\n this.partnerId = p.context.namespaced.namespace;\n return super.fromPersona(p);\n }\n}\nfunction getValueFromAttribute(attr) {\n if (typeof attr === 'undefined') {\n return null;\n } else if (typeof attr.stringAttribute !== 'undefined') {\n return attr.stringAttribute;\n } else if (typeof attr.intAttribute !== 'undefined') {\n return attr.intAttribute;\n } else if (typeof attr.doubleAttribute !== 'undefined') {\n return attr.doubleAttribute;\n } else if (typeof attr.boolAttribute !== 'undefined') {\n return attr.boolAttribute;\n } else if (typeof attr.listAttribute !== 'undefined') {\n const vals = [];\n /* eslint-disable @typescript-eslint/no-unsafe-return */\n if (typeof attr.listAttribute.attributes === 'undefined') {\n /* eslint-disable @typescript-eslint/no-unsafe-return */\n return vals;\n }\n for (const val of attr.listAttribute.attributes) {\n vals.push(getValueFromAttribute(val));\n }\n return vals;\n } else if (typeof attr.timestampAttribute !== 'undefined') {\n return attr.timestampAttribute;\n } else if (typeof attr.geopointAttribute !== 'undefined') {\n return attr.geopointAttribute;\n } else if (typeof attr.structAttribute !== 'undefined') {\n const result = {};\n for (const a in attr.structAttribute.attributes) {\n if (!attr.structAttribute.attributes.hasOwnProperty(a)) {\n continue;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n result[CamelCase(a)] = getValueFromAttribute(attr.structAttribute.attributes[a]);\n }\n return result;\n }\n}\nfunction CamelCase(str) {\n let result = '';\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '_') {\n result += str[i + 1].toUpperCase();\n i++;\n } else {\n result += str[i];\n }\n }\n return result;\n}\nclass DeveloperPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.developer;\n }\n}\nclass PartnerPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.partner;\n this.isSuperAdmin = false;\n this.isAdmin = false;\n this.canCustomizeWhitelabel = false;\n this.canAccessBilling = false;\n this.canAccessAccounts = false;\n this.canAccessMarketing = false;\n this.canAccessSales = false;\n this.canAccessConcierge = false;\n this.canAccessBrands = false;\n this.canAccessDashboard = false;\n this.canAccessOrders = false;\n this.canAccessCompanyProfile = false;\n this.canAccessAutomations = false;\n this.canAccessMarketplace = false;\n this.canEnableApps = false;\n this.canAccessRetailBilling = false;\n }\n}\nclass PartnerAppPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.partner_app;\n }\n}\nconst TitleChoice = {\n PARTNER_FOR_SMB: 'partnerForSmb',\n REP_MAN_FOR_SMB: 'repManForSmb',\n MARKET_FOR_SMB: 'marketForSmb'\n};\nclass SalespersonPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.sales_person;\n this.titleChoice = TitleChoice.PARTNER_FOR_SMB;\n }\n}\nclass SMBPersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.smb;\n this.notificationsEnabled = true;\n }\n}\nclass VendorPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.vendor;\n }\n}\nclass DigitalAgentPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.digital_agent;\n }\n}\nclass SuccessPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.success;\n }\n}\nclass AccountGroupPersona extends TypedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.account_group;\n }\n}\nclass CRMRolePersona extends NamespacedPersona {\n constructor() {\n super(...arguments);\n this.type = PersonaType.crm_role;\n }\n}\nfunction fromPersona(persona) {\n const type = getTypeFromContext(persona.context);\n if (type === null) {\n return null;\n }\n const personaCls = getPersonaFromType(type);\n personaCls.fromPersona(persona);\n return personaCls;\n}\nfunction getTypeFromContext(ctx) {\n const type = !!ctx.namespaced ? ctx.namespaced.type : ctx.typed.type;\n switch (type) {\n case 'partner':\n return PersonaType.partner;\n case 'partner_app':\n return PersonaType.partner_app;\n case 'sales_person':\n return PersonaType.sales_person;\n case 'smb':\n return PersonaType.smb;\n case 'vendor':\n return PersonaType.vendor;\n case 'digital_agent':\n return PersonaType.digital_agent;\n case 'developer':\n return PersonaType.developer;\n case 'success':\n return PersonaType.success;\n case 'account_group':\n return PersonaType.account_group;\n case 'crm_role':\n return PersonaType.crm_role;\n }\n return null;\n}\nfunction getPersonaFromType(personaType) {\n return new {\n 'partner': PartnerPersona,\n 'partner_app': PartnerAppPersona,\n 'sales_person': SalespersonPersona,\n 'smb': SMBPersona,\n 'vendor': VendorPersona,\n 'digital_agent': DigitalAgentPersona,\n 'developer': DeveloperPersona,\n 'success': SuccessPersona,\n 'account_group': AccountGroupPersona,\n 'crm_role': CRMRolePersona\n }[personaType]();\n}\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Attribute {\n static fromProto(proto) {\n let m = new Attribute();\n m = Object.assign(m, proto);\n if (proto.intAttribute) {\n m.intAttribute = parseInt(proto.intAttribute, 10);\n }\n if (proto.structAttribute) {\n m.structAttribute = StructAttribute.fromProto(proto.structAttribute);\n }\n if (proto.listAttribute) {\n m.listAttribute = ListAttribute.fromProto(proto.listAttribute);\n }\n if (proto.timestampAttribute) {\n m.timestampAttribute = new Date(proto.timestampAttribute);\n }\n if (proto.geopointAttribute) {\n m.geopointAttribute = GeoPointAttribute.fromProto(proto.geopointAttribute);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.intAttribute !== 'undefined') {\n toReturn['intAttribute'] = this.intAttribute;\n }\n if (typeof this.doubleAttribute !== 'undefined') {\n toReturn['doubleAttribute'] = this.doubleAttribute;\n }\n if (typeof this.stringAttribute !== 'undefined') {\n toReturn['stringAttribute'] = this.stringAttribute;\n }\n if (typeof this.boolAttribute !== 'undefined') {\n toReturn['boolAttribute'] = this.boolAttribute;\n }\n if (typeof this.structAttribute !== 'undefined' && this.structAttribute !== null) {\n toReturn['structAttribute'] = 'toApiJson' in this.structAttribute ? this.structAttribute.toApiJson() : this.structAttribute;\n }\n if (typeof this.listAttribute !== 'undefined' && this.listAttribute !== null) {\n toReturn['listAttribute'] = 'toApiJson' in this.listAttribute ? this.listAttribute.toApiJson() : this.listAttribute;\n }\n if (typeof this.timestampAttribute !== 'undefined' && this.timestampAttribute !== null) {\n toReturn['timestampAttribute'] = 'toApiJson' in this.timestampAttribute ? this.timestampAttribute.toApiJson() : this.timestampAttribute;\n }\n if (typeof this.geopointAttribute !== 'undefined' && this.geopointAttribute !== null) {\n toReturn['geopointAttribute'] = 'toApiJson' in this.geopointAttribute ? this.geopointAttribute.toApiJson() : this.geopointAttribute;\n }\n return toReturn;\n }\n}\nclass StructAttributeAttributesEntry {\n static fromProto(proto) {\n let m = new StructAttributeAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = Attribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass GeoPointAttribute {\n static fromProto(proto) {\n let m = new GeoPointAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.latitude !== 'undefined') {\n toReturn['latitude'] = this.latitude;\n }\n if (typeof this.longitude !== 'undefined') {\n toReturn['longitude'] = this.longitude;\n }\n return toReturn;\n }\n}\nclass ListAttribute {\n static fromProto(proto) {\n let m = new ListAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(Attribute.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass StructAttribute {\n static fromProto(proto) {\n let m = new StructAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = Object.keys(proto.attributes).reduce((obj, k) => {\n obj[k] = Attribute.fromProto(proto.attributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar BooleanOperator = /*#__PURE__*/function (BooleanOperator) {\n BooleanOperator[BooleanOperator[\"AND\"] = 0] = \"AND\";\n BooleanOperator[BooleanOperator[\"OR\"] = 1] = \"OR\";\n BooleanOperator[BooleanOperator[\"NOT\"] = 2] = \"NOT\";\n return BooleanOperator;\n}(BooleanOperator || {});\nvar ForOperator = /*#__PURE__*/function (ForOperator) {\n ForOperator[ForOperator[\"ANY\"] = 0] = \"ANY\";\n ForOperator[ForOperator[\"ALL\"] = 1] = \"ALL\";\n return ForOperator;\n}(ForOperator || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AccessScope = /*#__PURE__*/function (AccessScope) {\n AccessScope[AccessScope[\"READ\"] = 0] = \"READ\";\n AccessScope[AccessScope[\"WRITE\"] = 1] = \"WRITE\";\n AccessScope[AccessScope[\"DELETE\"] = 2] = \"DELETE\";\n AccessScope[AccessScope[\"LIST\"] = 3] = \"LIST\";\n return AccessScope;\n}(AccessScope || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AlgorithmType = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType || {});\nvar OrderByDirection = /*#__PURE__*/function (OrderByDirection) {\n OrderByDirection[OrderByDirection[\"ASCENDING\"] = 0] = \"ASCENDING\";\n OrderByDirection[OrderByDirection[\"DESCENDING\"] = 1] = \"DESCENDING\";\n return OrderByDirection;\n}(OrderByDirection || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar RestrictionType = /*#__PURE__*/function (RestrictionType) {\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_UNSET\"] = 0] = \"RESTRICTION_TYPE_UNSET\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\"] = 1] = \"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_FROZEN\"] = 2] = \"RESTRICTION_TYPE_FROZEN\";\n return RestrictionType;\n}(RestrictionType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_INVALID\"] = 0] = \"SORT_DIRECTION_INVALID\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 2] = \"SORT_DIRECTION_DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar UserSortField = /*#__PURE__*/function (UserSortField) {\n UserSortField[UserSortField[\"USER_SORT_FIELD_INVALID\"] = 0] = \"USER_SORT_FIELD_INVALID\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_CREATED\"] = 1] = \"USER_SORT_FIELD_CREATED\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_FIRST_NAME\"] = 2] = \"USER_SORT_FIELD_FIRST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_NAME\"] = 3] = \"USER_SORT_FIELD_LAST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_EMAIL\"] = 4] = \"USER_SORT_FIELD_EMAIL\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_LOGIN\"] = 5] = \"USER_SORT_FIELD_LAST_LOGIN\";\n return UserSortField;\n}(UserSortField || {});\n// *********************************\n\n// NOTE: THIS HAS BEEN MANUALLY EDITED. PLEASE SEE THE BELOW COMMENTS TO SEE WHERE IT HAS BEEN EDITED\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass IfClause {\n static fromProto(proto) {\n let m = new IfClause();\n m = Object.assign(m, proto);\n if (proto.resourceAttributeValue) {\n m.resourceAttributeValue = Attribute.fromProto(proto.resourceAttributeValue);\n }\n if (proto.thenPolicy) {\n m.thenPolicy = PolicyNode.fromProto(proto.thenPolicy);\n }\n if (proto.elsePolicy) {\n m.elsePolicy = PolicyNode.fromProto(proto.elsePolicy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n if (typeof this.resourceAttributeValue !== 'undefined' && this.resourceAttributeValue !== null) {\n toReturn['resourceAttributeValue'] = 'toApiJson' in this.resourceAttributeValue ? this.resourceAttributeValue.toApiJson() : this.resourceAttributeValue;\n }\n if (typeof this.thenPolicy !== 'undefined' && this.thenPolicy !== null) {\n toReturn['thenPolicy'] = 'toApiJson' in this.thenPolicy ? this.thenPolicy.toApiJson() : this.thenPolicy;\n }\n if (typeof this.elsePolicy !== 'undefined' && this.elsePolicy !== null) {\n toReturn['elsePolicy'] = 'toApiJson' in this.elsePolicy ? this.elsePolicy.toApiJson() : this.elsePolicy;\n }\n return toReturn;\n }\n}\nclass Operator {\n static fromProto(proto) {\n let m = new Operator();\n m = Object.assign(m, proto);\n // Edited from e.policiesBooleanOperator to e.BooleanOperator\n if (proto.operator) {\n m.operator = enumStringToValue$6(BooleanOperator, proto.operator);\n }\n if (proto.children) {\n m.children = proto.children.map(PolicyNode.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.children !== 'undefined' && this.children !== null) {\n toReturn['children'] = 'toApiJson' in this.children ? this.children.toApiJson() : this.children;\n }\n return toReturn;\n }\n}\nclass PolicyNode {\n static fromProto(proto) {\n let m = new PolicyNode();\n m = Object.assign(m, proto);\n if (proto.subjectResourceIntersection) {\n m.subjectResourceIntersection = SubjectResourceIntersectionClause.fromProto(proto.subjectResourceIntersection);\n }\n if (proto.operator) {\n m.operator = Operator.fromProto(proto.operator);\n }\n if (proto.subjectValueIntersection) {\n m.subjectValueIntersection = SubjectValueIntersectionClause.fromProto(proto.subjectValueIntersection);\n }\n if (proto.subjectMissingValue) {\n m.subjectMissingValue = SubjectMissingValueClause.fromProto(proto.subjectMissingValue);\n }\n if (proto.subjectResourceSubset) {\n m.subjectResourceSubset = SubjectResourceSubsetClause.fromProto(proto.subjectResourceSubset);\n }\n if (proto.subjectResourceFor) {\n m.subjectResourceFor = SubjectResourceForClause.fromProto(proto.subjectResourceFor);\n }\n if (proto.ifClause) {\n m.ifClause = IfClause.fromProto(proto.ifClause);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectResourceIntersection !== 'undefined' && this.subjectResourceIntersection !== null) {\n toReturn['subjectResourceIntersection'] = 'toApiJson' in this.subjectResourceIntersection ? this.subjectResourceIntersection.toApiJson() : this.subjectResourceIntersection;\n }\n if (typeof this.operator !== 'undefined' && this.operator !== null) {\n toReturn['operator'] = 'toApiJson' in this.operator ? this.operator.toApiJson() : this.operator;\n }\n if (typeof this.subjectValueIntersection !== 'undefined' && this.subjectValueIntersection !== null) {\n toReturn['subjectValueIntersection'] = 'toApiJson' in this.subjectValueIntersection ? this.subjectValueIntersection.toApiJson() : this.subjectValueIntersection;\n }\n if (typeof this.subjectMissingValue !== 'undefined' && this.subjectMissingValue !== null) {\n toReturn['subjectMissingValue'] = 'toApiJson' in this.subjectMissingValue ? this.subjectMissingValue.toApiJson() : this.subjectMissingValue;\n }\n if (typeof this.subjectResourceSubset !== 'undefined' && this.subjectResourceSubset !== null) {\n toReturn['subjectResourceSubset'] = 'toApiJson' in this.subjectResourceSubset ? this.subjectResourceSubset.toApiJson() : this.subjectResourceSubset;\n }\n if (typeof this.subjectResourceFor !== 'undefined' && this.subjectResourceFor !== null) {\n toReturn['subjectResourceFor'] = 'toApiJson' in this.subjectResourceFor ? this.subjectResourceFor.toApiJson() : this.subjectResourceFor;\n }\n if (typeof this.ifClause !== 'undefined' && this.ifClause !== null) {\n toReturn['ifClause'] = 'toApiJson' in this.ifClause ? this.ifClause.toApiJson() : this.ifClause;\n }\n return toReturn;\n }\n}\nclass SubjectMissingValueClause {\n static fromProto(proto) {\n let m = new SubjectMissingValueClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceForClause {\n static fromProto(proto) {\n let m = new SubjectResourceForClause();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$6(ForOperator, proto.operator);\n }\n if (proto.rules) {\n m.rules = PolicyNode.fromProto(proto.rules);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.rules !== 'undefined' && this.rules !== null) {\n toReturn['rules'] = 'toApiJson' in this.rules ? this.rules.toApiJson() : this.rules;\n }\n return toReturn;\n }\n}\nclass SubjectResourceIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectResourceIntersectionClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceSubsetClause {\n static fromProto(proto) {\n let m = new SubjectResourceSubsetClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectValueIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectValueIntersectionClause();\n m = Object.assign(m, proto);\n if (proto.structuredAttributeValue) {\n m.structuredAttributeValue = Attribute.fromProto(proto.structuredAttributeValue);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.attributeValue !== 'undefined') {\n toReturn['attributeValue'] = this.attributeValue;\n }\n if (typeof this.structuredAttributeValue !== 'undefined' && this.structuredAttributeValue !== null) {\n toReturn['structuredAttributeValue'] = 'toApiJson' in this.structuredAttributeValue ? this.structuredAttributeValue.toApiJson() : this.structuredAttributeValue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessCheckFailures {\n static fromProto(proto) {\n let m = new AccessCheckFailures();\n m = Object.assign(m, proto);\n if (proto.failures) {\n m.failures = proto.failures.map(ResourceIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.failures !== 'undefined' && this.failures !== null) {\n toReturn['failures'] = 'toApiJson' in this.failures ? this.failures.toApiJson() : this.failures;\n }\n return toReturn;\n }\n}\nclass ResourceIdentifierIdentifiersEntry {\n static fromProto(proto) {\n let m = new ResourceIdentifierIdentifiersEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ValueList.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass Policy {\n static fromProto(proto) {\n let m = new Policy();\n m = Object.assign(m, proto);\n if (proto.operations) {\n m.operations = proto.operations.map(v => enumStringToValue$5(AccessScope, v));\n }\n if (proto.policy) {\n m.policy = PolicyNode.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n if (typeof this.policyName !== 'undefined') {\n toReturn['policyName'] = this.policyName;\n }\n if (typeof this.operations !== 'undefined') {\n toReturn['operations'] = this.operations;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass ResourceIdentifier {\n static fromProto(proto) {\n let m = new ResourceIdentifier();\n m = Object.assign(m, proto);\n if (proto.identifiers) {\n m.identifiers = Object.keys(proto.identifiers).reduce((obj, k) => {\n obj[k] = ValueList.fromProto(proto.identifiers[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass ResourceOwner {\n static fromProto(proto) {\n let m = new ResourceOwner();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.appName !== 'undefined') {\n toReturn['appName'] = this.appName;\n }\n return toReturn;\n }\n}\nclass ValueList {\n static fromProto(proto) {\n let m = new ValueList();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.values !== 'undefined') {\n toReturn['values'] = this.values;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Context {\n static fromProto(proto) {\n let m = new Context();\n m = Object.assign(m, proto);\n if (proto.namespaced) {\n m.namespaced = NamespacedContext.fromProto(proto.namespaced);\n }\n if (proto.typed) {\n m.typed = TypedContext.fromProto(proto.typed);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespaced !== 'undefined' && this.namespaced !== null) {\n toReturn['namespaced'] = 'toApiJson' in this.namespaced ? this.namespaced.toApiJson() : this.namespaced;\n }\n if (typeof this.typed !== 'undefined' && this.typed !== null) {\n toReturn['typed'] = 'toApiJson' in this.typed ? this.typed.toApiJson() : this.typed;\n }\n return toReturn;\n }\n}\nclass MultiValueAttribute {\n static fromProto(proto) {\n let m = new MultiValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.values !== 'undefined') {\n toReturn['values'] = this.values;\n }\n return toReturn;\n }\n}\nclass Mutation {\n static fromProto(proto) {\n let m = new Mutation();\n m = Object.assign(m, proto);\n if (proto.add) {\n m.add = SingleValueAttribute.fromProto(proto.add);\n }\n if (proto.replace) {\n m.replace = MultiValueAttribute.fromProto(proto.replace);\n }\n if (proto.remove) {\n m.remove = SingleValueAttribute.fromProto(proto.remove);\n }\n if (proto.replaceAttributes) {\n m.replaceAttributes = StructAttribute.fromProto(proto.replaceAttributes);\n }\n if (proto.addAttributes) {\n m.addAttributes = StructAttribute.fromProto(proto.addAttributes);\n }\n if (proto.removeAttributes) {\n m.removeAttributes = StructAttribute.fromProto(proto.removeAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.add !== 'undefined' && this.add !== null) {\n toReturn['add'] = 'toApiJson' in this.add ? this.add.toApiJson() : this.add;\n }\n if (typeof this.replace !== 'undefined' && this.replace !== null) {\n toReturn['replace'] = 'toApiJson' in this.replace ? this.replace.toApiJson() : this.replace;\n }\n if (typeof this.remove !== 'undefined' && this.remove !== null) {\n toReturn['remove'] = 'toApiJson' in this.remove ? this.remove.toApiJson() : this.remove;\n }\n if (typeof this.dropKey !== 'undefined') {\n toReturn['dropKey'] = this.dropKey;\n }\n if (typeof this.replaceAttributes !== 'undefined' && this.replaceAttributes !== null) {\n toReturn['replaceAttributes'] = 'toApiJson' in this.replaceAttributes ? this.replaceAttributes.toApiJson() : this.replaceAttributes;\n }\n if (typeof this.addAttributes !== 'undefined' && this.addAttributes !== null) {\n toReturn['addAttributes'] = 'toApiJson' in this.addAttributes ? this.addAttributes.toApiJson() : this.addAttributes;\n }\n if (typeof this.removeAttributes !== 'undefined' && this.removeAttributes !== null) {\n toReturn['removeAttributes'] = 'toApiJson' in this.removeAttributes ? this.removeAttributes.toApiJson() : this.removeAttributes;\n }\n return toReturn;\n }\n}\nclass NamespacedContext {\n static fromProto(proto) {\n let m = new NamespacedContext();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n return toReturn;\n }\n}\nclass Persona {\n static fromProto(proto) {\n let m = new Persona();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = Subject.fromProto(proto.subject);\n }\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass PublicKey {\n static fromProto(proto) {\n let m = new PublicKey();\n m = Object.assign(m, proto);\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$4(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass Query {\n static fromProto(proto) {\n let m = new Query();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.attributeKeys !== 'undefined') {\n toReturn['attributeKeys'] = this.attributeKeys;\n }\n return toReturn;\n }\n}\nclass SingleValueAttribute {\n static fromProto(proto) {\n let m = new SingleValueAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass Subject {\n static fromProto(proto) {\n let m = new Subject();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n if (proto.structAttributes) {\n m.structAttributes = StructAttribute.fromProto(proto.structAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {\n toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? this.structAttributes.toApiJson() : this.structAttributes;\n }\n return toReturn;\n }\n}\nclass SubjectResult {\n static fromProto(proto) {\n let m = new SubjectResult();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = Subject.fromProto(proto.subject);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n return toReturn;\n }\n}\nclass TypedContext {\n static fromProto(proto) {\n let m = new TypedContext();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass SecurityLog {\n static fromProto(proto) {\n let m = new SecurityLog();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n if (typeof this.logId !== 'undefined') {\n toReturn['logId'] = this.logId;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Identifier {\n static fromProto(proto) {\n let m = new Identifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass NamespacedEmail {\n static fromProto(proto) {\n let m = new NamespacedEmail();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass NamespacedSession {\n static fromProto(proto) {\n let m = new NamespacedSession();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass TypedExternalIdentifier {\n static fromProto(proto) {\n let m = new TypedExternalIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass User {\n static fromProto(proto) {\n let m = new User();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n if (typeof this.roles !== 'undefined') {\n toReturn['roles'] = this.roles;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessResourceRequest {\n static fromProto(proto) {\n let m = new AccessResourceRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.resourceEntityIdentifier) {\n m.resourceEntityIdentifier = Object.keys(proto.resourceEntityIdentifier).reduce((obj, k) => {\n obj[k] = ValueList.fromProto(proto.resourceEntityIdentifier[k]);\n return obj;\n }, {});\n }\n if (proto.accessScope) {\n m.accessScope = proto.accessScope.map(v => enumStringToValue(AccessScope, v));\n }\n if (proto.resourceEntityIdentifiers) {\n m.resourceEntityIdentifiers = proto.resourceEntityIdentifiers.map(ResourceIdentifier.fromProto);\n }\n if (proto.resourceAttributes) {\n m.resourceAttributes = StructAttribute.fromProto(proto.resourceAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceEntityIdentifier !== 'undefined' && this.resourceEntityIdentifier !== null) {\n toReturn['resourceEntityIdentifier'] = 'toApiJson' in this.resourceEntityIdentifier ? this.resourceEntityIdentifier.toApiJson() : this.resourceEntityIdentifier;\n }\n if (typeof this.accessScope !== 'undefined') {\n toReturn['accessScope'] = this.accessScope;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.resourceEntityIdentifiers !== 'undefined' && this.resourceEntityIdentifiers !== null) {\n toReturn['resourceEntityIdentifiers'] = 'toApiJson' in this.resourceEntityIdentifiers ? this.resourceEntityIdentifiers.toApiJson() : this.resourceEntityIdentifiers;\n }\n if (typeof this.resourceAttributes !== 'undefined' && this.resourceAttributes !== null) {\n toReturn['resourceAttributes'] = 'toApiJson' in this.resourceAttributes ? this.resourceAttributes.toApiJson() : this.resourceAttributes;\n }\n return toReturn;\n }\n}\nclass AddKeyRequest {\n static fromProto(proto) {\n let m = new AddKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue(AlgorithmType, proto.algorithmType);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass AddKeyResponse {\n static fromProto(proto) {\n let m = new AddKeyResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.privateKey !== 'undefined') {\n toReturn['privateKey'] = this.privateKey;\n }\n if (typeof this.keyId !== 'undefined') {\n toReturn['keyId'] = this.keyId;\n }\n return toReturn;\n }\n}\nclass AddMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new AddMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass AuthenticateSubjectRequest {\n static fromProto(proto) {\n let m = new AuthenticateSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass ChangeSubjectEmailRequest {\n static fromProto(proto) {\n let m = new ChangeSubjectEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.newEmail !== 'undefined') {\n toReturn['newEmail'] = this.newEmail;\n }\n return toReturn;\n }\n}\nclass CreateExternalIDRequest {\n static fromProto(proto) {\n let m = new CreateExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass CreateSessionRequest {\n static fromProto(proto) {\n let m = new CreateSessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.oauthCredentials) {\n m.oauthCredentials = OAuthCredentials.fromProto(proto.oauthCredentials);\n }\n if (proto.subjectCredentials) {\n m.subjectCredentials = SubjectCredentials.fromProto(proto.subjectCredentials);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.oauthCredentials !== 'undefined' && this.oauthCredentials !== null) {\n toReturn['oauthCredentials'] = 'toApiJson' in this.oauthCredentials ? this.oauthCredentials.toApiJson() : this.oauthCredentials;\n }\n if (typeof this.subjectCredentials !== 'undefined' && this.subjectCredentials !== null) {\n toReturn['subjectCredentials'] = 'toApiJson' in this.subjectCredentials ? this.subjectCredentials.toApiJson() : this.subjectCredentials;\n }\n return toReturn;\n }\n}\nclass CreateSessionResponse {\n static fromProto(proto) {\n let m = new CreateSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass CreateTemporarySubjectRequest {\n static fromProto(proto) {\n let m = new CreateTemporarySubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass CreateTemporarySubjectResponse {\n static fromProto(proto) {\n let m = new CreateTemporarySubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass DeleteSubjectRequest {\n static fromProto(proto) {\n let m = new DeleteSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass DeleteUserRequest {\n static fromProto(proto) {\n let m = new DeleteUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequestFilters {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n return toReturn;\n }\n}\nclass GetImpersonationTokenRequest {\n static fromProto(proto) {\n let m = new GetImpersonationTokenRequest();\n m = Object.assign(m, proto);\n if (proto.impersonatee) {\n m.impersonatee = UserIdentifier.fromProto(proto.impersonatee);\n }\n if (proto.impersonator) {\n m.impersonator = UserIdentifier.fromProto(proto.impersonator);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.impersonatee !== 'undefined' && this.impersonatee !== null) {\n toReturn['impersonatee'] = 'toApiJson' in this.impersonatee ? this.impersonatee.toApiJson() : this.impersonatee;\n }\n if (typeof this.impersonator !== 'undefined' && this.impersonator !== null) {\n toReturn['impersonator'] = 'toApiJson' in this.impersonator ? this.impersonator.toApiJson() : this.impersonator;\n }\n return toReturn;\n }\n}\nclass GetImpersonationTokenResponse {\n static fromProto(proto) {\n let m = new GetImpersonationTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDRequest {\n static fromProto(proto) {\n let m = new GetMultiExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDResponse {\n static fromProto(proto) {\n let m = new GetMultiExternalIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIds !== 'undefined') {\n toReturn['externalIds'] = this.externalIds;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersRequest {\n static fromProto(proto) {\n let m = new GetMultiUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponse {\n static fromProto(proto) {\n let m = new GetMultiUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(GetMultiUsersResponseUserContainer.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenRequest {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass GetSessionTokenRequest {\n static fromProto(proto) {\n let m = new GetSessionTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass GetShortLivedTokenRequest {\n static fromProto(proto) {\n let m = new GetShortLivedTokenRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass GetSubjectBySessionRequest {\n static fromProto(proto) {\n let m = new GetSubjectBySessionRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass GetSubjectContextRequest {\n static fromProto(proto) {\n let m = new GetSubjectContextRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass GetSubjectContextResponse {\n static fromProto(proto) {\n let m = new GetSubjectContextResponse();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n return toReturn;\n }\n}\nclass GetSubjectResponse {\n static fromProto(proto) {\n let m = new GetSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.subject) {\n m.subject = SubjectResult.fromProto(proto.subject);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subject !== 'undefined' && this.subject !== null) {\n toReturn['subject'] = 'toApiJson' in this.subject ? this.subject.toApiJson() : this.subject;\n }\n return toReturn;\n }\n}\nclass GetSubjectsByEmailRequest {\n static fromProto(proto) {\n let m = new GetSubjectsByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.emails !== 'undefined') {\n toReturn['emails'] = this.emails;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass GetSubjectsRequest {\n static fromProto(proto) {\n let m = new GetSubjectsRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.identifiers) {\n m.identifiers = proto.identifiers.map(Identifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectIds !== 'undefined') {\n toReturn['subjectIds'] = this.subjectIds;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass GetSubjectsResponse {\n static fromProto(proto) {\n let m = new GetSubjectsResponse();\n m = Object.assign(m, proto);\n if (proto.subjects) {\n m.subjects = proto.subjects.map(SubjectResult.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjects !== 'undefined' && this.subjects !== null) {\n toReturn['subjects'] = 'toApiJson' in this.subjects ? this.subjects.toApiJson() : this.subjects;\n }\n return toReturn;\n }\n}\nclass GetTokenRequest {\n static fromProto(proto) {\n let m = new GetTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass GetTokenResponse {\n static fromProto(proto) {\n let m = new GetTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass IAMListPersonasRequest {\n static fromProto(proto) {\n let m = new IAMListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.alwaysIncludeSuperadmin !== 'undefined') {\n toReturn['alwaysIncludeSuperadmin'] = this.alwaysIncludeSuperadmin;\n }\n return toReturn;\n }\n}\nclass ListPersonasByEmailRequest {\n static fromProto(proto) {\n let m = new ListPersonasByEmailRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n return toReturn;\n }\n}\nclass ListPersonasRequest {\n static fromProto(proto) {\n let m = new ListPersonasRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n return toReturn;\n }\n}\nclass ListPersonasResponse {\n static fromProto(proto) {\n let m = new ListPersonasResponse();\n m = Object.assign(m, proto);\n if (proto.personas) {\n m.personas = proto.personas.map(Persona.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.personas !== 'undefined' && this.personas !== null) {\n toReturn['personas'] = 'toApiJson' in this.personas ? this.personas.toApiJson() : this.personas;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequest {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = ListSecurityLogsRequestFilters.fromProto(proto.filters);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsResponse {\n static fromProto(proto) {\n let m = new ListSecurityLogsResponse();\n m = Object.assign(m, proto);\n if (proto.logs) {\n m.logs = proto.logs.map(SecurityLog.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.logs !== 'undefined' && this.logs !== null) {\n toReturn['logs'] = 'toApiJson' in this.logs ? this.logs.toApiJson() : this.logs;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListUsersRequest {\n static fromProto(proto) {\n let m = new ListUsersRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.userFilter) {\n m.userFilter = UserFilter.fromProto(proto.userFilter);\n }\n if (proto.sortOptions) {\n m.sortOptions = proto.sortOptions.map(UserSortOptions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.userFilter !== 'undefined' && this.userFilter !== null) {\n toReturn['userFilter'] = 'toApiJson' in this.userFilter ? this.userFilter.toApiJson() : this.userFilter;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListUsersResponse {\n static fromProto(proto) {\n let m = new ListUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass MutateAttributesRequest {\n static fromProto(proto) {\n let m = new MutateAttributesRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.mutations) {\n m.mutations = proto.mutations.map(Mutation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.mutations !== 'undefined' && this.mutations !== null) {\n toReturn['mutations'] = 'toApiJson' in this.mutations ? this.mutations.toApiJson() : this.mutations;\n }\n return toReturn;\n }\n}\nclass OAuthCredentials {\n static fromProto(proto) {\n let m = new OAuthCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.provider !== 'undefined') {\n toReturn['provider'] = this.provider;\n }\n if (typeof this.idToken !== 'undefined') {\n toReturn['idToken'] = this.idToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRequestOperation();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n return toReturn;\n }\n}\nclass RegisterPolicyRequest {\n static fromProto(proto) {\n let m = new RegisterPolicyRequest();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = Policy.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass RegisterResourceOwnerRequest {\n static fromProto(proto) {\n let m = new RegisterResourceOwnerRequest();\n m = Object.assign(m, proto);\n if (proto.owner) {\n m.owner = ResourceOwner.fromProto(proto.owner);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.owner !== 'undefined' && this.owner !== null) {\n toReturn['owner'] = 'toApiJson' in this.owner ? this.owner.toApiJson() : this.owner;\n }\n return toReturn;\n }\n}\nclass RegisterResourceRequest {\n static fromProto(proto) {\n let m = new RegisterResourceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceName !== 'undefined') {\n toReturn['resourceName'] = this.resourceName;\n }\n if (typeof this.resourceOwnerServiceUrl !== 'undefined') {\n toReturn['resourceOwnerServiceUrl'] = this.resourceOwnerServiceUrl;\n }\n if (typeof this.requiredResourceParams !== 'undefined') {\n toReturn['requiredResourceParams'] = this.requiredResourceParams;\n }\n if (typeof this.resourceOwnerAudience !== 'undefined') {\n toReturn['resourceOwnerAudience'] = this.resourceOwnerAudience;\n }\n return toReturn;\n }\n}\nclass RegisterSubjectRequest {\n static fromProto(proto) {\n let m = new RegisterSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.attributes) {\n m.attributes = proto.attributes.map(MultiValueAttribute.fromProto);\n }\n if (proto.structAttributes) {\n m.structAttributes = StructAttribute.fromProto(proto.structAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.structAttributes !== 'undefined' && this.structAttributes !== null) {\n toReturn['structAttributes'] = 'toApiJson' in this.structAttributes ? this.structAttributes.toApiJson() : this.structAttributes;\n }\n return toReturn;\n }\n}\nclass RegisterSubjectResponse {\n static fromProto(proto) {\n let m = new RegisterSubjectResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass RemoveKeyRequest {\n static fromProto(proto) {\n let m = new RemoveKeyRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.keyId !== 'undefined') {\n toReturn['keyId'] = this.keyId;\n }\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass RemoveMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new RemoveMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass ResetPasswordTokenResponse {\n static fromProto(proto) {\n let m = new ResetPasswordTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass ResetPasswordWithTokenRequest {\n static fromProto(proto) {\n let m = new ResetPasswordWithTokenRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass ResetSubjectPasswordRequest {\n static fromProto(proto) {\n let m = new ResetSubjectPasswordRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequestResourceEntityIdentifierEntry {\n static fromProto(proto) {\n let m = new AccessResourceRequestResourceEntityIdentifierEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = ValueList.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass SearchSubjectRequest {\n static fromProto(proto) {\n let m = new SearchSubjectRequest();\n m = Object.assign(m, proto);\n if (proto.context) {\n m.context = Context.fromProto(proto.context);\n }\n if (proto.query) {\n m.query = Query.fromProto(proto.query);\n }\n if (proto.filters) {\n m.filters = proto.filters.map(SingleValueAttribute.fromProto);\n }\n if (proto.orderByDirection) {\n m.orderByDirection = enumStringToValue(OrderByDirection, proto.orderByDirection);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.context !== 'undefined' && this.context !== null) {\n toReturn['context'] = 'toApiJson' in this.context ? this.context.toApiJson() : this.context;\n }\n if (typeof this.query !== 'undefined' && this.query !== null) {\n toReturn['query'] = 'toApiJson' in this.query ? this.query.toApiJson() : this.query;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.orderBy !== 'undefined') {\n toReturn['orderBy'] = this.orderBy;\n }\n if (typeof this.orderByDirection !== 'undefined') {\n toReturn['orderByDirection'] = this.orderByDirection;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass SearchSubjectResponse {\n static fromProto(proto) {\n let m = new SearchSubjectResponse();\n m = Object.assign(m, proto);\n if (proto.result) {\n m.result = proto.result.map(SubjectResult.fromProto);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.result !== 'undefined' && this.result !== null) {\n toReturn['result'] = 'toApiJson' in this.result ? this.result.toApiJson() : this.result;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass SendEmailVerificationRequest {\n static fromProto(proto) {\n let m = new SendEmailVerificationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass SubjectCredentials {\n static fromProto(proto) {\n let m = new SubjectCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequest {\n static fromProto(proto) {\n let m = new UpdateUserRequest();\n m = Object.assign(m, proto);\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponseUserContainer {\n static fromProto(proto) {\n let m = new GetMultiUsersResponseUserContainer();\n m = Object.assign(m, proto);\n if (proto.user) {\n m.user = User.fromProto(proto.user);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n return toReturn;\n }\n}\nclass UserFilter {\n static fromProto(proto) {\n let m = new UserFilter();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectTypes !== 'undefined') {\n toReturn['subjectTypes'] = this.subjectTypes;\n }\n if (typeof this.searchTerms !== 'undefined') {\n toReturn['searchTerms'] = this.searchTerms;\n }\n return toReturn;\n }\n}\nclass UserIdentifier {\n static fromProto(proto) {\n let m = new UserIdentifier();\n m = Object.assign(m, proto);\n if (proto.namespacedEmail) {\n m.namespacedEmail = NamespacedEmail.fromProto(proto.namespacedEmail);\n }\n if (proto.namespacedSession) {\n m.namespacedSession = NamespacedSession.fromProto(proto.namespacedSession);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.namespacedEmail !== 'undefined' && this.namespacedEmail !== null) {\n toReturn['namespacedEmail'] = 'toApiJson' in this.namespacedEmail ? this.namespacedEmail.toApiJson() : this.namespacedEmail;\n }\n if (typeof this.namespacedSession !== 'undefined' && this.namespacedSession !== null) {\n toReturn['namespacedSession'] = 'toApiJson' in this.namespacedSession ? this.namespacedSession.toApiJson() : this.namespacedSession;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass UserSortOptions {\n static fromProto(proto) {\n let m = new UserSortOptions();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue(SortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue(UserSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nclass VerifyEmailRequest {\n static fromProto(proto) {\n let m = new VerifyEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\n// *********************************\nlet IAMApiService = /*#__PURE__*/(() => {\n class IAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n registerSubject(r) {\n const request = r.toApiJson ? r : new RegisterSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterSubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RegisterSubjectResponse.fromProto(resp)));\n }\n authenticateSubject(r) {\n const request = r.toApiJson ? r : new AuthenticateSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AuthenticateSubject\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getSubjects(r) {\n const request = r.toApiJson ? r : new GetSubjectsRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjects\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectsResponse.fromProto(resp)));\n }\n getSubjectsByEmail(r) {\n const request = r.toApiJson ? r : new GetSubjectsByEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjectsByEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectsResponse.fromProto(resp)));\n }\n mutateAttributes(r) {\n const request = r.toApiJson ? r : new MutateAttributesRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/MutateAttributes\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n resetSubjectPassword(r) {\n const request = r.toApiJson ? r : new ResetSubjectPasswordRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ResetSubjectPassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n changeSubjectEmail(r) {\n const request = r.toApiJson ? r : new ChangeSubjectEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ChangeSubjectEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteSubject(r) {\n const request = r.toApiJson ? r : new DeleteSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/DeleteSubject\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n searchSubject(r) {\n const request = r.toApiJson ? r : new SearchSubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/SearchSubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchSubjectResponse.fromProto(resp)));\n }\n getSubjectContext(r) {\n const request = r.toApiJson ? r : new GetSubjectContextRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSubjectContext\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectContextResponse.fromProto(resp)));\n }\n registerResourceOwner(r) {\n const request = r.toApiJson ? r : new RegisterResourceOwnerRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterResourceOwner\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerResource(r) {\n const request = r.toApiJson ? r : new RegisterResourceRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n registerPolicy(r) {\n const request = r.toApiJson ? r : new RegisterPolicyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RegisterPolicy\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n accessResource(r) {\n const request = r.toApiJson ? r : new AccessResourceRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AccessResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getShortLivedToken(r) {\n const request = r.toApiJson ? r : new GetShortLivedTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetShortLivedToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n getSessionToken(r) {\n const request = r.toApiJson ? r : new GetSessionTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetSessionToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n addKey(r) {\n const request = r.toApiJson ? r : new AddKeyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AddKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddKeyResponse.fromProto(resp)));\n }\n removeKey(r) {\n const request = r.toApiJson ? r : new RemoveKeyRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RemoveKey\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createSession(r) {\n const request = r.toApiJson ? r : new CreateSessionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateSession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateSessionResponse.fromProto(resp)));\n }\n getResetPasswordToken(r) {\n const request = r.toApiJson ? r : new GetResetPasswordTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetResetPasswordToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ResetPasswordTokenResponse.fromProto(resp)));\n }\n listPersonasByEmail(r) {\n const request = r.toApiJson ? r : new ListPersonasByEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListPersonasByEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n listPersonas(r) {\n const request = r.toApiJson ? r : new IAMListPersonasRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListPersonas\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n createTemporarySubject(r) {\n const request = r.toApiJson ? r : new CreateTemporarySubjectRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateTemporarySubject\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateTemporarySubjectResponse.fromProto(resp)));\n }\n getMultiUsers(r) {\n const request = r.toApiJson ? r : new GetMultiUsersRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetMultiUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiUsersResponse.fromProto(resp)));\n }\n listUsers(r) {\n const request = r.toApiJson ? r : new ListUsersRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListUsersResponse.fromProto(resp)));\n }\n updateUser(r) {\n const request = r.toApiJson ? r : new UpdateUserRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/UpdateUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteUser(r) {\n const request = r.toApiJson ? r : new DeleteUserRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/DeleteUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listSecurityLogs(r) {\n const request = r.toApiJson ? r : new ListSecurityLogsRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/ListSecurityLogs\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListSecurityLogsResponse.fromProto(resp)));\n }\n verifyEmail(r) {\n const request = r.toApiJson ? r : new VerifyEmailRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/VerifyEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n sendEmailVerification(r) {\n const request = r.toApiJson ? r : new SendEmailVerificationRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/SendEmailVerification\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiExternalId(r) {\n const request = r.toApiJson ? r : new GetMultiExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/GetMultiExternalID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiExternalIDResponse.fromProto(resp)));\n }\n createExternalId(r) {\n const request = r.toApiJson ? r : new CreateExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/CreateExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new AddMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/AddMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new RemoveMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v1.IAM/RemoveMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n IAMApiService.ɵfac = function IAMApiService_Factory(t) {\n return new (t || IAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMApiService,\n factory: IAMApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet UserIAMApiService = /*#__PURE__*/(() => {\n class UserIAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getSubjectBySession(r) {\n const request = r.toApiJson ? r : new GetSubjectBySessionRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetSubjectBySession\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSubjectResponse.fromProto(resp)));\n }\n listPersonas(r) {\n const request = r.toApiJson ? r : new ListPersonasRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/ListPersonas\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPersonasResponse.fromProto(resp)));\n }\n getToken(r) {\n const request = r.toApiJson ? r : new GetTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n getSessionToken(r) {\n const request = r.toApiJson ? r : new GetSessionTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetSessionToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTokenResponse.fromProto(resp)));\n }\n resetPasswordWithToken(r) {\n const request = r.toApiJson ? r : new ResetPasswordWithTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/ResetPasswordWithToken\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getImpersonationToken(r) {\n const request = r.toApiJson ? r : new GetImpersonationTokenRequest(r);\n return this.http.post(this._host + \"/iam.v1.UserIAM/GetImpersonationToken\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetImpersonationTokenResponse.fromProto(resp)));\n }\n }\n UserIAMApiService.ɵfac = function UserIAMApiService_Factory(t) {\n return new (t || UserIAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n UserIAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: UserIAMApiService,\n factory: UserIAMApiService.ɵfac,\n providedIn: 'root'\n });\n return UserIAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet IAMService = /*#__PURE__*/(() => {\n class IAMService {\n constructor(api, httpApi, iamApi) {\n this.api = api;\n this.httpApi = httpApi;\n this.iamApi = iamApi;\n }\n // Get a subject from the session ID\n getSubjectBySession(sessionId, personaType, partnerId) {\n let context;\n if (!!partnerId) {\n context = new Context({\n namespaced: new NamespacedContext({\n namespace: partnerId,\n type: PersonaType[personaType]\n })\n });\n } else {\n context = new Context({\n typed: new TypedContext({\n type: PersonaType[personaType]\n })\n });\n }\n return this.api.getSubjectBySession({\n session: sessionId,\n context: context\n }).pipe(map(r => fromPersona(new Persona({\n subject: r.subject.subject,\n context: context\n }))));\n }\n // List all available personas for the session. Optionally pass a persona type to filter by that persona.\n listPersonas(sessionId, personaType) {\n return this.api.listPersonas({\n session: sessionId,\n pageSize: 100,\n type: personaType\n }).pipe(map(r => {\n const personas = [];\n if (!r || !r.personas) {\n return [];\n }\n for (const p of r.personas) {\n const persona = fromPersona(p);\n if (!!persona) {\n personas.push(persona);\n }\n }\n return personas;\n }));\n }\n // Get a short lived session token\n getToken() {\n return this.api.getToken({}).pipe(map(r => r.token));\n }\n // Login into a user. Optionally specify the partner and persona type you want to log into\n login(email, password, personaType, partnerId) {\n return this.httpApi.login({\n email: email,\n password: password,\n namespace: partnerId,\n type: personaType\n }).pipe(map(r => r.sessionId || ''));\n }\n // Logout of the current session, returns true if successful\n logout() {\n return this.httpApi.logout().pipe(map(r => r.success));\n }\n // This will redirect the browser to IAM's sso login handler.\n ssoLogin(nextUrl, personaType, partnerId) {\n this.httpApi.ssoLogin({\n nextUrl: nextUrl,\n namespace: partnerId,\n type: personaType\n });\n }\n // getMultiUsers takes an array of user identifiers and calls IAM to convert them into Users\n getMultiUsers(userIdentifiers) {\n return this.iamApi.getMultiUsers({\n userIdentifiers\n }).pipe(map(resp => {\n if (!!resp.users) {\n return resp.users;\n }\n return [];\n }), map(userContainers => userContainers.map(u => u.user)));\n }\n // listSecurityLogs returns security logs for a userId passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n listSecurityLogs(userId, cursor, pageSize, actionId = '') {\n const optionalArgs = {};\n if (actionId !== '') {\n optionalArgs.filters = new ListSecurityLogsRequestFilters({\n actionId\n });\n }\n return this.iamApi.listSecurityLogs({\n userId,\n cursor,\n pageSize,\n ...optionalArgs\n });\n }\n // listUsers returns users for a namespace passed in. This is a paged function, but the\n // handling of paged information is left to the implementor (for now).\n // An empty namespace will return users that exist outside of a namespace.\n listUsers(namespace, email, cursor, pageSize, subjectTypes, searchTerms, sortOptions) {\n const userFilter = {};\n if (!!subjectTypes && subjectTypes.length > 0) {\n userFilter.subjectTypes = subjectTypes;\n }\n if (!!searchTerms && searchTerms.length > 0) {\n userFilter.searchTerms = searchTerms;\n }\n return this.iamApi.listUsers({\n namespace: namespace,\n email: email,\n cursor: cursor,\n pageSize: pageSize,\n userFilter: userFilter,\n sortOptions: sortOptions || []\n });\n }\n }\n IAMService.ɵfac = function IAMService_Factory(t) {\n return new (t || IAMService)(i0.ɵɵinject(UserIAMApiService), i0.ɵɵinject(IamHttpApiService), i0.ɵɵinject(IAMApiService));\n };\n IAMService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMService,\n factory: IAMService.ɵfac,\n providedIn: 'root'\n });\n return IAMService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, AccessCheckFailures, AccessResourceRequest, AccessResourceRequestResourceEntityIdentifierEntry, AccessScope, AddKeyRequest, AddKeyResponse, AddMultiUserRestrictionRequest, AlgorithmType, Attribute, AuthenticateSubjectRequest, BasePersona, BooleanOperator, CRMRolePersona, ChangeSubjectEmailRequest, Context, CreateExternalIDRequest, CreateSessionRequest, CreateSessionResponse, CreateTemporarySubjectRequest, CreateTemporarySubjectResponse, DeleteSubjectRequest, DeleteUserRequest, DeveloperPersona, DigitalAgentPersona, FieldMask, ForOperator, GeoPointAttribute, GetImpersonationTokenRequest, GetImpersonationTokenResponse, GetMultiExternalIDRequest, GetMultiExternalIDResponse, GetMultiUsersRequest, GetMultiUsersResponse, GetMultiUsersResponseUserContainer, GetResetPasswordTokenRequest, GetSessionTokenRequest, GetShortLivedTokenRequest, GetSubjectBySessionRequest, GetSubjectContextRequest, GetSubjectContextResponse, GetSubjectResponse, GetSubjectsByEmailRequest, GetSubjectsRequest, GetSubjectsResponse, GetTokenRequest, GetTokenResponse, HostService, IAMApiService, IAMListPersonasRequest, IAMService, Identifier, IfClause, ListAttribute, ListPersonasByEmailRequest, ListPersonasRequest, ListPersonasResponse, ListSecurityLogsRequest, ListSecurityLogsRequestFilters, ListSecurityLogsResponse, ListUsersRequest, ListUsersResponse, MultiValueAttribute, MutateAttributesRequest, Mutation, NamespacedContext, NamespacedEmail, NamespacedPersona, NamespacedSession, OAuthCredentials, Operator, OrderByDirection, PartnerAppPersona, PartnerPersona, Persona, PersonaType, Policy, PolicyNode, PublicKey, Query, RegisterPolicyRequest, RegisterResourceOwnerRequest, RegisterResourceRequest, RegisterSubjectRequest, RegisterSubjectResponse, RemoveKeyRequest, RemoveMultiUserRestrictionRequest, ResetPasswordTokenResponse, ResetPasswordWithTokenRequest, ResetSubjectPasswordRequest, ResourceIdentifier, ResourceIdentifierIdentifiersEntry, ResourceOwner, RestrictionType, SMBPersona, SalespersonPersona, SearchSubjectRequest, SearchSubjectResponse, SecurityLog, SendEmailVerificationRequest, SingleValueAttribute, SortDirection, StructAttribute, StructAttributeAttributesEntry, Subject, SubjectCredentials, SubjectMissingValueClause, SubjectResourceForClause, SubjectResourceIntersectionClause, SubjectResourceSubsetClause, SubjectResult, SubjectValueIntersectionClause, TypedContext, TypedExternalIdentifier, TypedPersona, UpdateUserRequest, UpdateUserRequestOperation, User, UserFilter, UserIAMApiService, UserIdentifier, UserSortField, UserSortOptions, ValueList, VendorPersona, VerifyEmailRequest, fromPersona };\n"],"mappings":"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","names":["environment","hostMap","HostService","t","ɵɵdefineInjectable","LoginRequest","_LoginRequest","proto","m","kwargs","LoginResponse","_LoginResponse","LogoutResponse","_LogoutResponse","SSOLoginRequest","_SSOLoginRequest","IamHttpApiService","http","hostService","includeCredentials","HttpHeaders","r","request","map","resp","share","params","apiJson","key","value","ɵɵinject","HttpClient","PersonaType","BasePersona","p","s","attributes","attrs","getValueFromAttribute","TypedPersona","NamespacedPersona","attr","vals","val","result","a","CamelCase","str","i","DeveloperPersona","PartnerPersona","PartnerAppPersona","TitleChoice","SalespersonPersona","SMBPersona","VendorPersona","DigitalAgentPersona","SuccessPersona","AccountGroupPersona","CRMRolePersona","fromPersona","persona","type","getTypeFromContext","personaCls","getPersonaFromType","ctx","personaType","FieldMask","_FieldMask","proto","m","kwargs","toReturn","Attribute","_Attribute","proto","m","StructAttribute","ListAttribute","GeoPointAttribute","kwargs","toReturn","GeoPointAttribute","_GeoPointAttribute","proto","m","kwargs","toReturn","ListAttribute","_ListAttribute","Attribute","StructAttribute","_StructAttribute","obj","k","BooleanOperator","ForOperator","AccessScope","AlgorithmType","OrderByDirection","RestrictionType","SortDirection","UserSortField","enumStringToValue$6","enumRef","value","IfClause","_IfClause","PolicyNode","Operator","_Operator","_PolicyNode","SubjectResourceIntersectionClause","SubjectValueIntersectionClause","SubjectMissingValueClause","SubjectResourceSubsetClause","SubjectResourceForClause","_SubjectMissingValueClause","_SubjectResourceForClause","_SubjectResourceIntersectionClause","_SubjectResourceSubsetClause","_SubjectValueIntersectionClause","enumStringToValue$5","Policy","_Policy","proto","m","v","enumStringToValue$5","AccessScope","PolicyNode","kwargs","toReturn","ResourceIdentifier","_ResourceIdentifier","obj","k","ValueList","ResourceOwner","_ResourceOwner","_ValueList","enumStringToValue$4","enumRef","value","Context","_Context","NamespacedContext","TypedContext","MultiValueAttribute","_MultiValueAttribute","Mutation","_Mutation","SingleValueAttribute","StructAttribute","_NamespacedContext","Persona","_Persona","Subject","PublicKey","_PublicKey","AlgorithmType","Query","_Query","_SingleValueAttribute","_Subject","SubjectResult","_SubjectResult","_TypedContext","SecurityLog","_SecurityLog","proto","m","kwargs","toReturn","Identifier","_Identifier","proto","m","kwargs","toReturn","NamespacedEmail","_NamespacedEmail","NamespacedSession","_NamespacedSession","TypedExternalIdentifier","_TypedExternalIdentifier","User","_User","PublicKey","enumStringToValue","enumRef","value","AccessResourceRequest","_AccessResourceRequest","proto","m","Context","obj","k","ValueList","v","AccessScope","ResourceIdentifier","StructAttribute","kwargs","toReturn","AddKeyRequest","_AddKeyRequest","AlgorithmType","UserIdentifier","AddKeyResponse","_AddKeyResponse","AddMultiUserRestrictionRequest","_AddMultiUserRestrictionRequest","RestrictionType","AuthenticateSubjectRequest","_AuthenticateSubjectRequest","ChangeSubjectEmailRequest","_ChangeSubjectEmailRequest","CreateExternalIDRequest","_CreateExternalIDRequest","TypedExternalIdentifier","CreateSessionRequest","_CreateSessionRequest","OAuthCredentials","SubjectCredentials","CreateSessionResponse","_CreateSessionResponse","CreateTemporarySubjectRequest","_CreateTemporarySubjectRequest","CreateTemporarySubjectResponse","_CreateTemporarySubjectResponse","DeleteSubjectRequest","_DeleteSubjectRequest","DeleteUserRequest","_DeleteUserRequest","ListSecurityLogsRequestFilters","_ListSecurityLogsRequestFilters","GetImpersonationTokenRequest","_GetImpersonationTokenRequest","GetImpersonationTokenResponse","_GetImpersonationTokenResponse","GetMultiExternalIDRequest","_GetMultiExternalIDRequest","GetMultiExternalIDResponse","_GetMultiExternalIDResponse","GetMultiUsersRequest","_GetMultiUsersRequest","GetMultiUsersResponse","_GetMultiUsersResponse","GetMultiUsersResponseUserContainer","GetResetPasswordTokenRequest","_GetResetPasswordTokenRequest","GetSessionTokenRequest","_GetSessionTokenRequest","GetShortLivedTokenRequest","_GetShortLivedTokenRequest","GetSubjectBySessionRequest","_GetSubjectBySessionRequest","GetSubjectContextRequest","_GetSubjectContextRequest","GetSubjectContextResponse","_GetSubjectContextResponse","GetSubjectResponse","_GetSubjectResponse","SubjectResult","GetSubjectsByEmailRequest","_GetSubjectsByEmailRequest","FieldMask","GetSubjectsRequest","_GetSubjectsRequest","Identifier","GetSubjectsResponse","_GetSubjectsResponse","GetTokenRequest","_GetTokenRequest","GetTokenResponse","_GetTokenResponse","IAMListPersonasRequest","_IAMListPersonasRequest","ListPersonasByEmailRequest","_ListPersonasByEmailRequest","ListPersonasRequest","_ListPersonasRequest","ListPersonasResponse","_ListPersonasResponse","Persona","ListSecurityLogsRequest","_ListSecurityLogsRequest","ListSecurityLogsResponse","_ListSecurityLogsResponse","SecurityLog","ListUsersRequest","_ListUsersRequest","UserFilter","UserSortOptions","ListUsersResponse","_ListUsersResponse","User","MutateAttributesRequest","_MutateAttributesRequest","Mutation","_OAuthCredentials","UpdateUserRequestOperation","_UpdateUserRequestOperation","RegisterPolicyRequest","_RegisterPolicyRequest","Policy","RegisterResourceOwnerRequest","_RegisterResourceOwnerRequest","ResourceOwner","RegisterResourceRequest","_RegisterResourceRequest","RegisterSubjectRequest","_RegisterSubjectRequest","MultiValueAttribute","RegisterSubjectResponse","_RegisterSubjectResponse","RemoveKeyRequest","_RemoveKeyRequest","RemoveMultiUserRestrictionRequest","_RemoveMultiUserRestrictionRequest","ResetPasswordTokenResponse","_ResetPasswordTokenResponse","ResetPasswordWithTokenRequest","_ResetPasswordWithTokenRequest","ResetSubjectPasswordRequest","_ResetSubjectPasswordRequest","SearchSubjectRequest","_SearchSubjectRequest","proto","m","Context","Query","SingleValueAttribute","enumStringToValue","OrderByDirection","FieldMask","kwargs","toReturn","SearchSubjectResponse","_SearchSubjectResponse","SubjectResult","SendEmailVerificationRequest","_SendEmailVerificationRequest","SubjectCredentials","_SubjectCredentials","UpdateUserRequest","_UpdateUserRequest","UpdateUserRequestOperation","GetMultiUsersResponseUserContainer","_GetMultiUsersResponseUserContainer","User","UserFilter","_UserFilter","UserIdentifier","_UserIdentifier","NamespacedEmail","NamespacedSession","TypedExternalIdentifier","UserSortOptions","_UserSortOptions","SortDirection","UserSortField","VerifyEmailRequest","_VerifyEmailRequest","IAMApiService","http","hostService","HttpHeaders","r","request","RegisterSubjectRequest","map","resp","RegisterSubjectResponse","AuthenticateSubjectRequest","__spreadProps","__spreadValues","GetSubjectsRequest","GetSubjectsResponse","GetSubjectsByEmailRequest","MutateAttributesRequest","ResetSubjectPasswordRequest","ChangeSubjectEmailRequest","DeleteSubjectRequest","GetSubjectContextRequest","GetSubjectContextResponse","RegisterResourceOwnerRequest","RegisterResourceRequest","RegisterPolicyRequest","AccessResourceRequest","GetShortLivedTokenRequest","GetTokenResponse","GetSessionTokenRequest","AddKeyRequest","AddKeyResponse","RemoveKeyRequest","CreateSessionRequest","CreateSessionResponse","GetResetPasswordTokenRequest","ResetPasswordTokenResponse","ListPersonasByEmailRequest","ListPersonasResponse","IAMListPersonasRequest","CreateTemporarySubjectRequest","CreateTemporarySubjectResponse","GetMultiUsersRequest","GetMultiUsersResponse","ListUsersRequest","ListUsersResponse","DeleteUserRequest","ListSecurityLogsRequest","ListSecurityLogsResponse","GetMultiExternalIDRequest","GetMultiExternalIDResponse","CreateExternalIDRequest","AddMultiUserRestrictionRequest","RemoveMultiUserRestrictionRequest","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","UserIAMApiService","GetSubjectBySessionRequest","GetSubjectResponse","ListPersonasRequest","GetTokenRequest","ResetPasswordWithTokenRequest","GetImpersonationTokenRequest","GetImpersonationTokenResponse","IAMService","api","httpApi","iamApi","sessionId","personaType","partnerId","context","NamespacedContext","PersonaType","TypedContext","fromPersona","Persona","personas","p","persona","email","password","nextUrl","userIdentifiers","userContainers","u","userId","cursor","pageSize","actionId","optionalArgs","ListSecurityLogsRequestFilters","namespace","subjectTypes","searchTerms","sortOptions","userFilter","IamHttpApiService"],"x_google_ignoreList":[0]}