@nutanix-scratch/iam-js-client 4.1.1-beta.2 → 4.1.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/Ntnx-Iam-js-client-prod.js +1 -1
- package/dist/Ntnx-Iam-js-client.js +656 -245
- package/dist/es/ApiClient.d.ts +25 -5
- package/dist/es/ApiClient.js +91 -23
- package/dist/es/Paginable.d.ts +1 -1
- package/dist/es/Paginable.js +3 -3
- package/dist/es/apis/authorizationpolicies-endpoints.d.ts +7 -7
- package/dist/es/apis/authorizationpolicies-endpoints.js +14 -14
- package/dist/es/apis/certificateauthenticationproviders-endpoints.d.ts +12 -4
- package/dist/es/apis/certificateauthenticationproviders-endpoints.js +21 -13
- package/dist/es/apis/clients-endpoints.d.ts +1 -1
- package/dist/es/apis/clients-endpoints.js +4 -4
- package/dist/es/apis/directoryservices-endpoints.d.ts +46 -6
- package/dist/es/apis/directoryservices-endpoints.js +186 -18
- package/dist/es/apis/entities-endpoints.d.ts +6 -6
- package/dist/es/apis/entities-endpoints.js +10 -10
- package/dist/es/apis/loginproviders-endpoints.d.ts +6 -6
- package/dist/es/apis/loginproviders-endpoints.js +9 -9
- package/dist/es/apis/operations-endpoints.d.ts +6 -6
- package/dist/es/apis/operations-endpoints.js +10 -10
- package/dist/es/apis/rolemembership-endpoints.d.ts +99 -0
- package/dist/es/apis/rolemembership-endpoints.js +277 -0
- package/dist/es/apis/roles-endpoints.d.ts +6 -6
- package/dist/es/apis/roles-endpoints.js +13 -13
- package/dist/es/apis/samlidentityproviders-endpoints.d.ts +46 -6
- package/dist/es/apis/samlidentityproviders-endpoints.js +184 -16
- package/dist/es/apis/usergroups-endpoints.d.ts +10 -6
- package/dist/es/apis/usergroups-endpoints.js +18 -12
- package/dist/es/apis/users-endpoints.d.ts +15 -11
- package/dist/es/apis/users-endpoints.js +31 -25
- package/dist/es/apis/welcomebanner-endpoints.d.ts +1 -1
- package/dist/es/apis/welcomebanner-endpoints.js +5 -5
- package/dist/es/index.d.ts +73 -1
- package/dist/es/index.js +288 -0
- package/dist/es/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/es/models/common/v1/config/Flag.js +3 -3
- package/dist/es/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/es/models/common/v1/config/KVPair.js +9 -5
- package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/es/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/es/models/common/v1/config/Message.d.ts +1 -1
- package/dist/es/models/common/v1/config/Message.js +3 -3
- package/dist/es/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/es/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/es/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiLink.js +3 -3
- package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/es/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ActivateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/AlgoType.js +2 -2
- package/dist/es/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ApiKeyDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthMethodType.js +2 -2
- package/dist/es/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/AuthenticationResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/AuthnMigrationRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/AuthnMigrationType.js +2 -2
- package/dist/es/models/iam/v4/authn/BucketsAccessKey.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/BucketsAccessKey.js +37 -4
- package/dist/es/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
- package/dist/es/models/iam/v4/authn/CertAuthProvider.d.ts +23 -1
- package/dist/es/models/iam/v4/authn/CertAuthProvider.js +75 -4
- package/dist/es/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CertRevocationInfo.js +4 -4
- package/dist/es/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CertificateLoginRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ClaimsType.js +2 -2
- package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/CreateUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/CreationType.js +2 -2
- package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DeleteUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/DirectoryService.d.ts +34 -1
- package/dist/es/models/iam/v4/authn/DirectoryService.js +114 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfo.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoGroup.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceInfoOu.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +12 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchEntity.js +43 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchQuery.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DirectoryServiceSearchResult.js +4 -4
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceShareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/DirectoryServiceUnshareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/DirectoryType.js +2 -2
- package/dist/es/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/DsServiceAccount.js +4 -4
- package/dist/es/models/iam/v4/authn/Federation.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Federation.js +4 -4
- package/dist/es/models/iam/v4/authn/FederationClaims.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/FederationClaims.js +4 -4
- package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserGroupApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/GrantType.js +2 -2
- package/dist/es/models/iam/v4/authn/Group.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Group.js +4 -4
- package/dist/es/models/iam/v4/authn/GroupSearchType.js +2 -2
- package/dist/es/models/iam/v4/authn/GroupType.js +10 -4
- package/dist/es/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/IdpMetadata.js +4 -4
- package/dist/es/models/iam/v4/authn/IdpType.js +2 -2
- package/dist/es/models/iam/v4/authn/Key.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Key.js +7 -5
- package/dist/es/models/iam/v4/authn/KeyKind.js +10 -4
- package/dist/es/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/KeyMigrationSpec.js +4 -4
- package/dist/es/models/iam/v4/authn/KeyStatus.js +2 -2
- package/dist/es/models/iam/v4/authn/KeyType.js +2 -2
- package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListLoginProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUserGroupsApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUserKeysApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ListUsersApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authn/LoginProvider.d.ts +34 -1
- package/dist/es/models/iam/v4/authn/LoginProvider.js +111 -4
- package/dist/es/models/iam/v4/authn/LoginRequest.d.ts +4 -4
- package/dist/es/models/iam/v4/authn/LoginRequest.js +8 -8
- package/dist/es/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
- package/dist/es/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectKeyDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectsAuthDetails.js +4 -4
- package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ObjectsAuthSpec.js +4 -4
- package/dist/es/models/iam/v4/authn/OidcKey.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/OidcKey.js +4 -4
- package/dist/es/models/iam/v4/authn/OidcSubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/OidcUserinfo.d.ts +23 -1
- package/dist/es/models/iam/v4/authn/OidcUserinfo.js +85 -4
- package/dist/es/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/OpenLdapConfig.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordChangeRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordChangeResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordResetRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/PasswordResetResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/PropagatedConnector.d.ts +120 -0
- package/dist/es/models/iam/v4/authn/PropagatedConnector.js +568 -0
- package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ResetUserPasswordApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ResponseType.js +2 -2
- package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/RevokeUserKeyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/SamlIdentityProvider.d.ts +44 -1
- package/dist/es/models/iam/v4/authn/SamlIdentityProvider.js +148 -4
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderShareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.d.ts +57 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.js +243 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.d.ts +21 -0
- package/dist/es/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.js +128 -0
- package/dist/es/models/iam/v4/authn/SamlSigningCredential.d.ts +80 -0
- package/dist/es/models/iam/v4/authn/SamlSigningCredential.js +353 -0
- package/dist/es/models/iam/v4/authn/Scope.js +2 -2
- package/dist/es/models/iam/v4/authn/ScopesType.js +2 -2
- package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/SigningAlgoType.js +2 -2
- package/dist/es/models/iam/v4/authn/SubjectType.js +2 -2
- package/dist/es/models/iam/v4/authn/SystemConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/SystemConfig.js +4 -4
- package/dist/es/models/iam/v4/authn/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/Tenant.js +4 -4
- package/dist/es/models/iam/v4/authn/TokenRequest.d.ts +3 -7
- package/dist/es/models/iam/v4/authn/TokenRequest.js +6 -11
- package/dist/es/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateUserApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authn/UseType.js +2 -2
- package/dist/es/models/iam/v4/authn/User.d.ts +23 -1
- package/dist/es/models/iam/v4/authn/User.js +73 -10
- package/dist/es/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserConfiguration.js +4 -4
- package/dist/es/models/iam/v4/authn/UserGroup.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserGroup.js +4 -7
- package/dist/es/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserGroupConfiguration.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserStateUpdate.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/UserStateUpdateResponse.js +4 -4
- package/dist/es/models/iam/v4/authn/UserStatusType.js +2 -2
- package/dist/es/models/iam/v4/authn/UserType.js +10 -4
- package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/ValidateCredentialsRequest.js +4 -4
- package/dist/es/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
- package/dist/es/models/iam/v4/authn/WelcomeBanner.js +4 -4
- package/dist/es/models/iam/v4/authz/ApiVersion.js +2 -2
- package/dist/es/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AssociatedEndpoint.js +4 -4
- package/dist/es/models/iam/v4/authz/AttributeEntity.d.ts +6 -6
- package/dist/es/models/iam/v4/authz/AttributeEntity.js +6 -6
- package/dist/es/models/iam/v4/authz/AuthorizationPolicy.d.ts +23 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicy.js +99 -4
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyConfig.js +46 -4
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyProjection.js +49 -5
- package/dist/es/models/iam/v4/authz/AuthorizationPolicyType.js +10 -4
- package/dist/es/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationRequest.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizationResponse.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/AuthorizationResponseObject.js +40 -4
- package/dist/es/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/AuthorizeEntity.js +4 -4
- package/dist/es/models/iam/v4/authz/AuthzMigrationFlags.d.ts +33 -0
- package/dist/es/models/iam/v4/authz/AuthzMigrationFlags.js +267 -0
- package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.d.ts +11 -1
- package/dist/es/models/iam/v4/authz/AuthzMigrationRequest.js +38 -4
- package/dist/es/models/iam/v4/authz/AuthzMigrationType.js +16 -4
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +23 -1
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicy.js +82 -4
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +27 -4
- package/dist/es/models/iam/v4/authz/BaseRole.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/BaseRole.js +41 -4
- package/dist/es/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/BaseRoleProjection.js +4 -4
- package/dist/es/models/iam/v4/authz/Client.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Client.js +4 -4
- package/dist/es/models/iam/v4/authz/ClientConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ClientConfig.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangeset.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetData.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataObjects.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDataOperations.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetDisplayName.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ConfigChangesetProjection.js +4 -4
- package/dist/es/models/iam/v4/authz/ConfigType.js +2 -2
- package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/CreateRoleApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/CreateRoleMembershipApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/CreateRoleMembershipApiResponse.js +294 -0
- package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/DeleteRoleApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/DeleteRoleMembershipApiResponse.d.ts +57 -0
- package/dist/es/models/iam/v4/authz/DeleteRoleMembershipApiResponse.js +292 -0
- package/dist/es/models/iam/v4/authz/Entity.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Entity.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/EntityConfig.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityFilter.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/EntityFilter.js +4 -4
- package/dist/es/models/iam/v4/authz/EntityOperators.js +2 -2
- package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetClientApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetEntityApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/GetOperationApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/GetRoleApiResponse.d.ts +7 -6
- package/dist/es/models/iam/v4/authz/GetRoleApiResponse.js +14 -8
- package/dist/es/models/iam/v4/authz/GetRoleMembershipApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/GetRoleMembershipApiResponse.js +294 -0
- package/dist/es/models/iam/v4/authz/HttpMethod.js +2 -2
- package/dist/es/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/IdentityFilter.js +4 -4
- package/dist/es/models/iam/v4/authz/IdentityIdpMapping.d.ts +72 -0
- package/dist/es/models/iam/v4/authz/IdentityIdpMapping.js +287 -0
- package/dist/es/models/iam/v4/authz/IdentityObject.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/IdentityObject.js +4 -4
- package/dist/es/models/iam/v4/authz/IdentityType.js +2 -2
- package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListEntitiesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListOperationsApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.d.ts +58 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.js +314 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipsApiResponse.d.ts +59 -0
- package/dist/es/models/iam/v4/authz/ListRoleMembershipsApiResponse.js +319 -0
- package/dist/es/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/ListRolesApiResponse.js +11 -7
- package/dist/es/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/MigrateRoleSpec.js +4 -4
- package/dist/es/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/MigrationActionNotes.js +4 -4
- package/dist/es/models/iam/v4/authz/Operation.d.ts +12 -1
- package/dist/es/models/iam/v4/authz/Operation.js +41 -4
- package/dist/es/models/iam/v4/authz/OperationConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/OperationConfig.js +16 -4
- package/dist/es/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
- package/dist/es/models/iam/v4/authz/OperationType.js +2 -2
- package/dist/es/models/iam/v4/authz/ProjectApMigrationData.d.ts +95 -0
- package/dist/es/models/iam/v4/authz/ProjectApMigrationData.js +386 -0
- package/dist/es/models/iam/v4/authz/RequestObject.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RequestObject.js +4 -4
- package/dist/es/models/iam/v4/authz/ResponseType.js +2 -2
- package/dist/es/models/iam/v4/authz/RmIdentityType.d.ts +19 -0
- package/dist/es/models/iam/v4/authz/RmIdentityType.js +83 -0
- package/dist/es/models/iam/v4/authz/Role.d.ts +29 -7
- package/dist/es/models/iam/v4/authz/Role.js +96 -12
- package/dist/es/models/iam/v4/authz/RoleConfig.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RoleConfig.js +37 -6
- package/dist/es/models/iam/v4/authz/RoleMembership.d.ts +121 -0
- package/dist/es/models/iam/v4/authz/RoleMembership.js +597 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipProjection.d.ts +21 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipProjection.js +334 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipSummary.d.ts +55 -0
- package/dist/es/models/iam/v4/authz/RoleMembershipSummary.js +327 -0
- package/dist/es/models/iam/v4/authz/RoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/RoleProjection.js +7 -4
- package/dist/es/models/iam/v4/authz/ScopeTemplate.d.ts +67 -0
- package/dist/es/models/iam/v4/authz/ScopeTemplate.js +398 -0
- package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigEntityList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigOperationList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
- package/dist/es/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigRequest.js +7 -5
- package/dist/es/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/SeedConfigRoleList.js +4 -4
- package/dist/es/models/iam/v4/authz/SeedConfigType.js +2 -2
- package/dist/es/models/iam/v4/authz/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/Tenant.js +4 -4
- package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UpdateRoleApiResponse.js +8 -6
- package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserAuthorizationPolicy.js +4 -4
- package/dist/es/models/iam/v4/authz/UserRole.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserRole.js +16 -4
- package/dist/es/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
- package/dist/es/models/iam/v4/authz/UserRoleProjection.js +4 -4
- package/dist/es/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/common/ActionBaseResponse.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationError.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/common/SchemaValidationErrorResponse.js +4 -4
- package/dist/es/models/iam/v4/common/SortOrderType.js +2 -2
- package/dist/es/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/common/ValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/error/AppMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/error/AppMessage.js +4 -4
- package/dist/es/models/iam/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/es/models/iam/v4/error/ErrorResponse.js +23 -6
- package/dist/es/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/es/models/iam/v4/error/SchemaValidationError.js +4 -4
- package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/es/models/iam/v4/error/SchemaValidationErrorMessage.js +4 -4
- package/dist/es/models/iam/v4/tenant/Tenant.d.ts +1 -1
- package/dist/es/models/iam/v4/tenant/Tenant.js +4 -4
- package/dist/es/models/validation/ValidationError.js +2 -2
- package/dist/es/utils/ValidationUtils.js +2 -2
- package/dist/lib/ApiClient.d.ts +25 -5
- package/dist/lib/ApiClient.js +91 -23
- package/dist/lib/Paginable.d.ts +1 -1
- package/dist/lib/Paginable.js +3 -3
- package/dist/lib/apis/authorizationpolicies-endpoints.d.ts +7 -7
- package/dist/lib/apis/authorizationpolicies-endpoints.js +14 -14
- package/dist/lib/apis/certificateauthenticationproviders-endpoints.d.ts +12 -4
- package/dist/lib/apis/certificateauthenticationproviders-endpoints.js +21 -13
- package/dist/lib/apis/clients-endpoints.d.ts +1 -1
- package/dist/lib/apis/clients-endpoints.js +4 -4
- package/dist/lib/apis/directoryservices-endpoints.d.ts +46 -6
- package/dist/lib/apis/directoryservices-endpoints.js +186 -18
- package/dist/lib/apis/entities-endpoints.d.ts +6 -6
- package/dist/lib/apis/entities-endpoints.js +10 -10
- package/dist/lib/apis/loginproviders-endpoints.d.ts +6 -6
- package/dist/lib/apis/loginproviders-endpoints.js +9 -9
- package/dist/lib/apis/operations-endpoints.d.ts +6 -6
- package/dist/lib/apis/operations-endpoints.js +10 -10
- package/dist/lib/apis/rolemembership-endpoints.d.ts +99 -0
- package/dist/lib/apis/rolemembership-endpoints.js +277 -0
- package/dist/lib/apis/roles-endpoints.d.ts +6 -6
- package/dist/lib/apis/roles-endpoints.js +13 -13
- package/dist/lib/apis/samlidentityproviders-endpoints.d.ts +46 -6
- package/dist/lib/apis/samlidentityproviders-endpoints.js +184 -16
- package/dist/lib/apis/usergroups-endpoints.d.ts +10 -6
- package/dist/lib/apis/usergroups-endpoints.js +18 -12
- package/dist/lib/apis/users-endpoints.d.ts +15 -11
- package/dist/lib/apis/users-endpoints.js +31 -25
- package/dist/lib/apis/welcomebanner-endpoints.d.ts +1 -1
- package/dist/lib/apis/welcomebanner-endpoints.js +5 -5
- package/dist/lib/index.d.ts +73 -1
- package/dist/lib/index.js +288 -0
- package/dist/lib/models/common/v1/config/Flag.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Flag.js +3 -3
- package/dist/lib/models/common/v1/config/KVPair.d.ts +1 -1
- package/dist/lib/models/common/v1/config/KVPair.js +9 -5
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +1 -1
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +3 -3
- package/dist/lib/models/common/v1/config/Message.d.ts +1 -1
- package/dist/lib/models/common/v1/config/Message.js +3 -3
- package/dist/lib/models/common/v1/config/MessageSeverity.js +2 -2
- package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +1 -1
- package/dist/lib/models/common/v1/config/TenantAwareModel.js +3 -3
- package/dist/lib/models/common/v1/response/ApiLink.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiLink.js +3 -3
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +3 -3
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -1
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +3 -3
- package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ActivateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/AlgoType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ApiKeyDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ApiKeyDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthMethodType.js +2 -2
- package/dist/lib/models/iam/v4/authn/AuthenticationResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/AuthenticationResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/AuthnMigrationRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/AuthnMigrationType.js +2 -2
- package/dist/lib/models/iam/v4/authn/BucketsAccessKey.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/BucketsAccessKey.js +37 -4
- package/dist/lib/models/iam/v4/authn/BucketsAccessKeyStatusType.js +2 -2
- package/dist/lib/models/iam/v4/authn/CertAuthProvider.d.ts +23 -1
- package/dist/lib/models/iam/v4/authn/CertAuthProvider.js +75 -4
- package/dist/lib/models/iam/v4/authn/CertRevocationInfo.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CertRevocationInfo.js +4 -4
- package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CertificateLoginRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ChangeUserPasswordApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ClaimsType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ConnectionDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/CreateUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/CreationType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DeleteUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/DirectoryService.d.ts +34 -1
- package/dist/lib/models/iam/v4/authn/DirectoryService.js +114 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceConnectionResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfo.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoGroup.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceInfoOu.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchAttribute.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.d.ts +12 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchEntity.js +43 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchQuery.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DirectoryServiceSearchResult.js +4 -4
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceShareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/DirectoryServiceUnshareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/DirectoryType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DiscoverySubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/DsServiceAccount.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/DsServiceAccount.js +4 -4
- package/dist/lib/models/iam/v4/authn/Federation.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Federation.js +4 -4
- package/dist/lib/models/iam/v4/authn/FederationClaims.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/FederationClaims.js +4 -4
- package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlIdpSpMetadataApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetSamlSpMetadataApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserGroupApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/GetWelcomeBannerApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/GrantType.js +2 -2
- package/dist/lib/models/iam/v4/authn/Group.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Group.js +4 -4
- package/dist/lib/models/iam/v4/authn/GroupSearchType.js +2 -2
- package/dist/lib/models/iam/v4/authn/GroupType.js +10 -4
- package/dist/lib/models/iam/v4/authn/IdpMetadata.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/IdpMetadata.js +4 -4
- package/dist/lib/models/iam/v4/authn/IdpType.js +2 -2
- package/dist/lib/models/iam/v4/authn/Key.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Key.js +7 -5
- package/dist/lib/models/iam/v4/authn/KeyKind.js +10 -4
- package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/KeyMigrationSpec.js +4 -4
- package/dist/lib/models/iam/v4/authn/KeyStatus.js +2 -2
- package/dist/lib/models/iam/v4/authn/KeyType.js +2 -2
- package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListCertAuthProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListDirectoryServicesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListLoginProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListSamlIdentityProvidersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUserGroupsApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUserKeysApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ListUsersApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authn/LoginProvider.d.ts +34 -1
- package/dist/lib/models/iam/v4/authn/LoginProvider.js +111 -4
- package/dist/lib/models/iam/v4/authn/LoginRequest.d.ts +4 -4
- package/dist/lib/models/iam/v4/authn/LoginRequest.js +8 -8
- package/dist/lib/models/iam/v4/authn/NameIdPolicyFormat.js +2 -2
- package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectKeyDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectsAuthDetails.js +4 -4
- package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ObjectsAuthSpec.js +4 -4
- package/dist/lib/models/iam/v4/authn/OidcKey.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/OidcKey.js +4 -4
- package/dist/lib/models/iam/v4/authn/OidcSubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/OidcUserinfo.d.ts +23 -1
- package/dist/lib/models/iam/v4/authn/OidcUserinfo.js +85 -4
- package/dist/lib/models/iam/v4/authn/OpenLdapConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/OpenLdapConfig.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordChangeRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordChangeResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordResetRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordResetRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/PasswordResetResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/PasswordResetResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/PropagatedConnector.d.ts +120 -0
- package/dist/lib/models/iam/v4/authn/PropagatedConnector.js +568 -0
- package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ResetUserPasswordApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ResponseType.js +2 -2
- package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/RevokeUserKeyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.d.ts +44 -1
- package/dist/lib/models/iam/v4/authn/SamlIdentityProvider.js +148 -4
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderShareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareAllResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.d.ts +57 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareRequest.js +243 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.d.ts +21 -0
- package/dist/lib/models/iam/v4/authn/SamlIdentityProviderUnshareResponse.js +128 -0
- package/dist/lib/models/iam/v4/authn/SamlSigningCredential.d.ts +80 -0
- package/dist/lib/models/iam/v4/authn/SamlSigningCredential.js +353 -0
- package/dist/lib/models/iam/v4/authn/Scope.js +2 -2
- package/dist/lib/models/iam/v4/authn/ScopesType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/SearchDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/ShareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/SigningAlgoType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SubjectType.js +2 -2
- package/dist/lib/models/iam/v4/authn/SystemConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/SystemConfig.js +4 -4
- package/dist/lib/models/iam/v4/authn/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/Tenant.js +4 -4
- package/dist/lib/models/iam/v4/authn/TokenRequest.d.ts +3 -7
- package/dist/lib/models/iam/v4/authn/TokenRequest.js +6 -11
- package/dist/lib/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareAllSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareDirectoryServiceApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authn/UnshareSamlIdentityProviderApiResponse.js +290 -0
- package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateCertAuthProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateDirectoryServiceApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateSamlIdentityProviderApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateUserApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UpdateWelcomeBannerApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authn/UseType.js +2 -2
- package/dist/lib/models/iam/v4/authn/User.d.ts +23 -1
- package/dist/lib/models/iam/v4/authn/User.js +73 -10
- package/dist/lib/models/iam/v4/authn/UserConfiguration.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserConfiguration.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserGroup.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserGroup.js +4 -7
- package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserGroupConfiguration.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStateUpdate.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserStateUpdate.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/UserStateUpdateResponse.js +4 -4
- package/dist/lib/models/iam/v4/authn/UserStatusType.js +2 -2
- package/dist/lib/models/iam/v4/authn/UserType.js +10 -4
- package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/ValidateCredentialsRequest.js +4 -4
- package/dist/lib/models/iam/v4/authn/WelcomeBanner.d.ts +1 -1
- package/dist/lib/models/iam/v4/authn/WelcomeBanner.js +4 -4
- package/dist/lib/models/iam/v4/authz/ApiVersion.js +2 -2
- package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AssociatedEndpoint.js +4 -4
- package/dist/lib/models/iam/v4/authz/AttributeEntity.d.ts +6 -6
- package/dist/lib/models/iam/v4/authz/AttributeEntity.js +6 -6
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.d.ts +23 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicy.js +99 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyConfig.js +46 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyProjection.js +49 -5
- package/dist/lib/models/iam/v4/authz/AuthorizationPolicyType.js +10 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationRequest.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationResponse.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/AuthorizationResponseObject.js +40 -4
- package/dist/lib/models/iam/v4/authz/AuthorizeEntity.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/AuthorizeEntity.js +4 -4
- package/dist/lib/models/iam/v4/authz/AuthzMigrationFlags.d.ts +33 -0
- package/dist/lib/models/iam/v4/authz/AuthzMigrationFlags.js +267 -0
- package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.d.ts +11 -1
- package/dist/lib/models/iam/v4/authz/AuthzMigrationRequest.js +38 -4
- package/dist/lib/models/iam/v4/authz/AuthzMigrationType.js +16 -4
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.d.ts +23 -1
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicy.js +82 -4
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/BaseAuthorizationPolicyProjection.js +27 -4
- package/dist/lib/models/iam/v4/authz/BaseRole.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/BaseRole.js +41 -4
- package/dist/lib/models/iam/v4/authz/BaseRoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/BaseRoleProjection.js +4 -4
- package/dist/lib/models/iam/v4/authz/Client.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Client.js +4 -4
- package/dist/lib/models/iam/v4/authz/ClientConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ClientConfig.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangeset.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangeset.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetData.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetData.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataObjects.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDataOperations.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetDisplayName.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ConfigChangesetProjection.js +4 -4
- package/dist/lib/models/iam/v4/authz/ConfigType.js +2 -2
- package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/CreateAuthorizationPolicyApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/CreateRoleApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/CreateRoleMembershipApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/CreateRoleMembershipApiResponse.js +294 -0
- package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/DeleteAuthorizationPolicyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/DeleteRoleApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/DeleteRoleMembershipApiResponse.d.ts +57 -0
- package/dist/lib/models/iam/v4/authz/DeleteRoleMembershipApiResponse.js +292 -0
- package/dist/lib/models/iam/v4/authz/Entity.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Entity.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/EntityConfig.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityFilter.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/EntityFilter.js +4 -4
- package/dist/lib/models/iam/v4/authz/EntityOperators.js +2 -2
- package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/GetAuthorizationPolicyApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/GetClientApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetClientApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetEntityApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/GetOperationApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.d.ts +7 -6
- package/dist/lib/models/iam/v4/authz/GetRoleApiResponse.js +14 -8
- package/dist/lib/models/iam/v4/authz/GetRoleMembershipApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/GetRoleMembershipApiResponse.js +294 -0
- package/dist/lib/models/iam/v4/authz/HttpMethod.js +2 -2
- package/dist/lib/models/iam/v4/authz/IdentityFilter.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/IdentityFilter.js +4 -4
- package/dist/lib/models/iam/v4/authz/IdentityIdpMapping.d.ts +72 -0
- package/dist/lib/models/iam/v4/authz/IdentityIdpMapping.js +287 -0
- package/dist/lib/models/iam/v4/authz/IdentityObject.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/IdentityObject.js +4 -4
- package/dist/lib/models/iam/v4/authz/IdentityType.js +2 -2
- package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListAuthorizationPoliciesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListEntitiesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListOperationsApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.d.ts +58 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipSummariesApiResponse.js +314 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipsApiResponse.d.ts +59 -0
- package/dist/lib/models/iam/v4/authz/ListRoleMembershipsApiResponse.js +319 -0
- package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/ListRolesApiResponse.js +11 -7
- package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/MigrateRoleSpec.js +4 -4
- package/dist/lib/models/iam/v4/authz/MigrationActionNotes.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/MigrationActionNotes.js +4 -4
- package/dist/lib/models/iam/v4/authz/Operation.d.ts +12 -1
- package/dist/lib/models/iam/v4/authz/Operation.js +41 -4
- package/dist/lib/models/iam/v4/authz/OperationConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/OperationConfig.js +16 -4
- package/dist/lib/models/iam/v4/authz/OperationSchemaChangeImpact.js +2 -2
- package/dist/lib/models/iam/v4/authz/OperationType.js +2 -2
- package/dist/lib/models/iam/v4/authz/ProjectApMigrationData.d.ts +95 -0
- package/dist/lib/models/iam/v4/authz/ProjectApMigrationData.js +386 -0
- package/dist/lib/models/iam/v4/authz/RequestObject.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RequestObject.js +4 -4
- package/dist/lib/models/iam/v4/authz/ResponseType.js +2 -2
- package/dist/lib/models/iam/v4/authz/RmIdentityType.d.ts +19 -0
- package/dist/lib/models/iam/v4/authz/RmIdentityType.js +83 -0
- package/dist/lib/models/iam/v4/authz/Role.d.ts +29 -7
- package/dist/lib/models/iam/v4/authz/Role.js +96 -12
- package/dist/lib/models/iam/v4/authz/RoleConfig.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RoleConfig.js +37 -6
- package/dist/lib/models/iam/v4/authz/RoleMembership.d.ts +121 -0
- package/dist/lib/models/iam/v4/authz/RoleMembership.js +597 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipProjection.d.ts +21 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipProjection.js +334 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipSummary.d.ts +55 -0
- package/dist/lib/models/iam/v4/authz/RoleMembershipSummary.js +327 -0
- package/dist/lib/models/iam/v4/authz/RoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/RoleProjection.js +7 -4
- package/dist/lib/models/iam/v4/authz/ScopeTemplate.d.ts +67 -0
- package/dist/lib/models/iam/v4/authz/ScopeTemplate.js +398 -0
- package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigAuthorizationPolicyList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigEntityList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigOperationType.js +2 -2
- package/dist/lib/models/iam/v4/authz/SeedConfigRequest.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigRequest.js +7 -5
- package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/SeedConfigRoleList.js +4 -4
- package/dist/lib/models/iam/v4/authz/SeedConfigType.js +2 -2
- package/dist/lib/models/iam/v4/authz/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/Tenant.js +4 -4
- package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UpdateAuthorizationPolicyApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UpdateRoleApiResponse.js +8 -6
- package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserAuthorizationPolicy.js +4 -4
- package/dist/lib/models/iam/v4/authz/UserRole.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserRole.js +16 -4
- package/dist/lib/models/iam/v4/authz/UserRoleProjection.d.ts +1 -1
- package/dist/lib/models/iam/v4/authz/UserRoleProjection.js +4 -4
- package/dist/lib/models/iam/v4/common/ActionBaseResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/ActionBaseResponse.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationError.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationError.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/SchemaValidationErrorResponse.js +4 -4
- package/dist/lib/models/iam/v4/common/SortOrderType.js +2 -2
- package/dist/lib/models/iam/v4/common/ValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/common/ValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/error/AppMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/AppMessage.js +4 -4
- package/dist/lib/models/iam/v4/error/ErrorResponse.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/ErrorResponse.js +23 -6
- package/dist/lib/models/iam/v4/error/SchemaValidationError.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/SchemaValidationError.js +4 -4
- package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.d.ts +1 -1
- package/dist/lib/models/iam/v4/error/SchemaValidationErrorMessage.js +4 -4
- package/dist/lib/models/iam/v4/tenant/Tenant.d.ts +1 -1
- package/dist/lib/models/iam/v4/tenant/Tenant.js +4 -4
- package/dist/lib/models/validation/ValidationError.js +2 -2
- package/dist/lib/utils/ValidationUtils.js +2 -2
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Iam=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={19(e,t,n){"use strict";var i=n(897);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},340(e){e.exports=o,o.default=o,o.stable=u,o.stableStringify=u;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,u){var h;if(l+=1,"object"==typeof e&&null!==e){for(h=0;h<r.length;h++)if(r[h]===e)return void a(n,e,i,o);if(void 0!==u.depthLimit&&l>u.depthLimit)return void a(t,e,i,o);if(void 0!==u.edgesLimit&&s+1>u.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(h=0;h<e.length;h++)d(e[h],h,h,r,e,l,u);else{var c=Object.keys(e);for(h=0;h<c.length;h++){var p=c[h];d(e[p],p,h,r,e,l,u)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,o){void 0===o&&(o=r());var a,d=h(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function h(e,s,r,o,d,u,c){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&u>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)h(e[p],p,p,o,e,u,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];h(e[v],v,p,o,e,u,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},545(){},548(){},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var r=n(960),o=n(340),a=n(695),d=n(388),l=n(19),u=n(619);function h(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var c=t=e.exports;t.Request=$,c.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!d(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){g(e,t,n)});else if(d(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&g(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function m(e){return/[/+]json($|[^-\w])/.test(e)}function w(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),o[i]=s);return o}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function $(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new w(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function f(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=y,c.parseString=v,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":y,"application/json":o},c.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},l(w.prototype),w.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&m(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},w.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},c.Response=w,r($.prototype),a($.prototype),$.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},$.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},$.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},$.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},$.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},$.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},$.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},$.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},$.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},$.prototype.ca=$.prototype.agent,$.prototype.buffer=$.prototype.ca,$.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},$.prototype.pipe=$.prototype.write,$.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},$.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||h,this._finalizeQueryString(),this._end()},$.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},$.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=c.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var s=this._header["content-type"],r=this._serializer||c.serialize[s?s.split(";")[0]:""];!r&&m(s)&&(r=c.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},c.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=f,c.delete=f,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},r.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},r.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&s(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},784(e,t,n){"use strict";var i="win32"===process.platform,s=n(818);function r(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}return n}function o(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,d=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=d.exec(i);return[n,s[1],s[2],s[3]]}function h(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function c(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var o;if(i>=0?o=arguments[i]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!s.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=h(o),d=a.device,l=a.isUnc,u=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=u),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=r(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=h(e),n=t.device,i=t.isUnc,s=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=r(o.split(/[\\\/]+/),!s).join("\\"))||s||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(s?"\\":"")+o},l.isAbsolute=function(e){return h(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),l.normalize(i)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=o(t.split("\\")),r=o(n.split("\\")),a=o(i.split("\\")),d=Math.min(r.length,a.length),u=d,h=0;h<d;h++)if(r[h]!==a[h]){u=h;break}if(0==u)return t;var c=[];for(h=u;h<r.length;h++)c.push("..");return(c=c.concat(s.slice(u))).join("\\")},l._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return u(e)[3]},l.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===l.sep?n+i:n+l.sep+i:i},l.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=u(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!s.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=r(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=r(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=o(e.split("/")),i=o(t.split("/")),s=Math.min(n.length,i.length),r=s,a=0;a<s;a++)if(n[a]!==i[a]){r=a;break}var d=[];for(a=r;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(r))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},y.sep="/",y.delimiter=":",e.exports=i?l:y,e.exports.posix=y,e.exports.win32=l},799(){},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!$(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return u(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if(w(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return u(n)}var $,k="",j=!1,F=["{","}"];return c(n)&&(j=!0,F=["[","]"]),T(n)&&(k=" [Function"+(n.name?": "+n.name:"")+"]"),w(n)&&(k=" "+RegExp.prototype.toString.call(n)),f(n)&&(k=" "+Date.prototype.toUTCString.call(n)),b(n)&&(k=" "+u(n)),0!==o.length||j&&0!=n.length?i<0?w(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),$=j?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(h(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(h(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return h(e,n,i,a,t,j)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}($,k,F)):F[0]+k+F[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function w(e){return $(e)&&"[object RegExp]"===k(e)}function $(e){return"object"==typeof e&&null!==e}function f(e){return $(e)&&"[object Date]"===k(e)}function b(e){return $(e)&&("[object Error]"===k(e)||e instanceof Error)}function T(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function j(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=w,t.isObject=$,t.isDate=f,t.isError=b,t.isFunction=T,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[j((e=new Date).getHours()),j(e.getMinutes()),j(e.getSeconds())].join(":"),[e.getDate(),F[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!$(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var s=(n=n.slice(0)).length;i<s;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},965(){}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>xu});var e,t=n(585),s=n.n(t);class r{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new r,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=de.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}r.prototype.linkFirst=null,r.prototype.linkPrev=null,r.prototype.linkNext=null,r.prototype.linkLast=null,r.prototype.apiClient=null,r.prototype.page=null,r.prototype.resultsPerPage=null,r.prototype.resultsTotal=null;var o=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}const d=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var l=[],u=0;u<256;++u)l.push((u+256).toString(16).substr(1));const h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&d.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},c=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return h(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),m=n(799),w=n.n(m),$=n(784),f=n.n($),b=n(548);const T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const k=T;class j{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class F{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var O=new WeakSet;class E{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=O),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new E,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function C(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}E.prototype.name=void 0,E.prototype.value=!1,E.prototype.$reserved=void 0,E.prototype.$objectType=void 0,E.prototype.$unknownFields=void 0;var U=new WeakSet;class P{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=U),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new P,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(U,this,A).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:C(U,this,A).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("map","undefined or null")}}function A(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function I(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}P.prototype.map=void 0,P.prototype.$reserved=void 0,P.prototype.$objectType=void 0,P.prototype.$unknownFields=void 0;var D=new WeakSet;class N{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=D),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new N,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=P.constructFromObject(i[r],void 0),o.push(s);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(o)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)));break;default:throw"Unknown datatype "+a+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):I(D,this,R).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):I(D,this,R).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!j.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function R(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}N.prototype.name=void 0,N.prototype.value=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;const S={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(S).find(t=>S[t]===e);return null==t?S.$UNKNOWN:S[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case S.$UNKNOWN:case S.$REDACTED:case S.INFO:case S.WARNING:case S.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(S);const L=S;var M=new WeakSet;class x{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=M),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new x,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("severity","undefined or null"):new F("locale","undefined or null"):new F("message","undefined or null"):new F("code","undefined or null")}}x.prototype.code=void 0,x.prototype.message=void 0,x.prototype.locale="en_US",x.prototype.severity=void 0,x.prototype.$reserved=void 0,x.prototype.$objectType=void 0,x.prototype.$unknownFields=void 0;var J=new WeakSet;class _{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=J),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("rel","undefined or null"):new F("href","undefined or null")}}_.prototype.href=void 0,_.prototype.rel=void 0,_.prototype.$reserved=void 0,_.prototype.$objectType=void 0,_.prototype.$unknownFields=void 0;var K,W=new WeakSet;class q{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=W),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new q,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=E.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(o=[],i=e.messages,r=0;r<i.length;r++)s=x.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new F("flags","undefined or null");if(!j.validateMaxItems(this.flags,20))return new F("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new F("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new F("messages","undefined or null");if(!j.validateMaxItems(this.messages,20))return new F("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new F("extraInfo","undefined or null");if(!j.validateMaxItems(this.extraInfo,20))return new F("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function B(e,t,n){z(e,t),t.set(e,n)}function z(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function G(e,t){return e.get(H(e,t))}function V(e,t,n){return e.set(H(e,t),n),n}function H(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}q.prototype.flags=void 0,q.prototype.links=void 0,q.prototype.totalAvailableResults=void 0,q.prototype.messages=void 0,q.prototype.extraInfo=void 0,q.prototype.$reserved=void 0,q.prototype.$objectType=void 0,q.prototype.$unknownFields=void 0,y()(s());var X=new WeakMap,Y=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakSet;class de{constructor(){var e;z(this,e=ae),e.add(this),B(this,X,void 0),B(this,Y,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,se,void 0),B(this,re,void 0),B(this,oe,void 0),V(oe,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",V(ie,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},V(ee,this,3e4),V(te,this,3e4),V(ne,this,108e5),this.readTimeout=G(te,this),this.connectTimeout=G(ee,this),this.cache=!0,V(Y,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(s().agent)),this.requestAgent=null,V(re,this,null),this.allowVersionNegotiation=!0,V(se,this,!1),this.debug=!1,V(Z,this,null),this.username=null,this.password=null,V(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),V(Q,this,e)}get verifySsl(){return G(Q,this)}set host(e){V(ie,this,e),V(se,this,!1),V(re,this,null)}get host(){return G(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=w().createWriteStream(e,{flags:"a"})),V(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&V(Y,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==G(re,this)&&null!==G(re,this)&&null!==G(re,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b2"!==G(re,this)){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Changing uri",e,"to negotiated version",G(re,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,G(re,this))}V(X,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==G(X,this)&&""!==this.host&&""!==this.port?i=G(X,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){let i=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return G(re,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===G(se,this)?this.callApiInternal("/api/iam/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,s="v4.1.b2";if(H(ae,this,we).call(this,H(ae,this,$e).call(this,i),H(ae,this,$e).call(this,s)))return H(ae,this,ke).call(this,G(oe,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),V(re,this,null),V(se,this,!1),void n(e);V(re,this,H(ae,this,me).call(this,"v4.1.b2",i)),V(se,this,!0),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Negotiated Version with server :",G(re,this)),n(e)}else H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}).catch(t=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Could not fetch supported versions from server"),V(re,this,null),V(se,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,u){return this.negotiateVersion(this,a).then(function(h){return h.callApiInternal(e,t,n,i,s,r,o,a,d,l,u)})}callApiInternal(e,t,i,r,o,a,d,l,u,h,p){var y=this.buildUrl(e,i);const g="undefined"!=typeof window&&void 0!==window.document;let v=["application/octet-stream","application/pdf","application/zip"];if(h&&h.length>0&&h.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=H(ae,this,Ee).call(this,y,t,r,o,d,l,u,h);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),n(e)})});var m=s()(t,y);if(m.oldCallback=m.callback,m.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},H(ae,this,pe).call(this,m,l),"GET"===t.toUpperCase()&&!1===this.cache&&(r._=(new Date).getTime()),m.query(H(ae,this,ce).call(this,r)),m.set(this.defaultHeaders).set(H(ae,this,ce).call(this,o)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==o["NTNX-Request-Id"]&&void 0!==o["NTNX-Request-Id"])){let e=c();m.set(H(ae,this,ce).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",m.set(H(ae,this,ce).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.1-beta.2"}))),this.requestAgent&&m.agent(this.requestAgent);var $={};$.response=H(ae,this,fe).call(this,this.connectTimeout,G(ee,this)),$.deadline=H(ae,this,fe).call(this,this.readTimeout,G(te,this)),m.timeout($);var f=o.hasOwnProperty("Content-Type")?o["Content-Type"]:H(ae,this,ue).call(this,u);if(f?"multipart/form-data"!=f&&m.type(f):m.header["Content-Type"]||m.type("application/json"),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,y),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",void 0===m.header?"":m.header),"application/x-www-form-urlencoded"===f)m.send(H(ae,this,ce).call(this,a));else if("multipart/form-data"==f){var b=H(ae,this,ce).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(H(ae,this,he).call(this,b[T])?m.attach(T,b[T]):m.field(T,b[T]))}else{if("application/octet-stream"===f&&null!=d&&"function"==typeof d.pipe){if(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Piping octet-stream request"),"function"==typeof d.pipe)d.pipe(m);else{let e;try{e=n(965)}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Error fetching steam/web")}d instanceof e.ReadableStream?d.pipeTo(new e.WritableStream({write(e){m.write(e)},close(){H(ae,this,ke).call(this,G(oe,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"READABLE STREAM ABORTED")}})):m.send(d)}return new Promise((t,n)=>{m.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{H(ae,this,Oe).call(this,i,e,r,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&d&&m.send(d)}"Blob"==typeof p?m.responseType("blob"):"String"===p&&m.responseType("string"),H(ae,this,Te).call(this,m),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",void 0===m._data?"":m._data);var k=o.hasOwnProperty("Accept")&&null!=o.Accept?o.Accept:h.join(", ");return k&&m.accept(k),new Promise((n,i)=>{m.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught the following error :",e)}).end((o,a)=>{if(o)H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error during the request!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),404===o.status&&(V(se,this,!1),V(re,this,null)),null!==o.response&&void 0!==o.response?o.data=H(ae,this,ge).call(this,o.response,p):o.data=H(ae,this,ye).call(this,o),i(o);else{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",a.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",a.headers);let o="";if(a.headers.hasOwnProperty("content-type")&&(o=a.headers["content-type"]),v.includes(o)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=w().createWriteStream(e);H(ae,this,Ce).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",r=this;H(ae,this,ke).call(this,G(oe,this).INFO,null,"Redirecting to :",a.headers.location);var d=s()(t,a.headers.location);d.set(m.header),a.headers.hasOwnProperty("x-redirect-token")&&(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Writing X-Redirect-Token into Cookie"),d.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&d.agent(this.requestAgent),d.redirects(0),d.withCredentials(this.withCredentials),d.buffer(!1);let o=w().createWriteStream(e);d.pipe(o),d.on("response",function(t){H(ae,r,ke).call(r,G(oe,r).INFO,null,"Received response after redirection :",t.status),H(ae,r,Ce).call(r,t,o,e,n,i,p)})}else H(ae,this,Oe).call(this,a,e,r,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return de.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>de.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=de.convertToType(r,i),d=de.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=de.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=de.convertToType(e[s],n))}}function le(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(H(ae,this,le).call(this,e[t]))return e[t];return e[0]}function he(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof b.Blob&&e instanceof b.Blob||"function"==typeof File&&e instanceof File}function ce(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];H(ae,this,he).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function pe(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ye(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ge(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(n=new t).data=new b.Blob([e.text],{type:e.headers["content-type"]});let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;return r.flags=s,n.metadata=r,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),K.convertToType(n,t)}function ve(e,t,n){if(!(e instanceof r))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function me(e,t){if(!e||!t)return e;let n=H(ae,this,$e).call(this,e),i=H(ae,this,$e).call(this,t);return!n.family===i.family||H(ae,this,we).call(this,n,i)?e:t}function we(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function $e(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function fe(e,t){return e<=0?e=t:e>G(ne,this)&&(e=G(ne,this)),e}function be(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}V(Y,this,t),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Retained cookie :",t)}else V(Y,this,null)}function Te(e){null!=G(Y,this)&&e.set(H(ae,this,ce).call(this,{Cookie:G(Y,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=G(oe,this).INFO),!H(ae,this,je).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==G(Z,this)&&null!==G(Z,this)&&"function"==typeof G(Z,this).log?G(Z,this).log(i):console.log(i)}}function je(e){return!this.debug&&e===G(oe,this).DEBUG}function Fe(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function Oe(e,t,n,i,s,r){try{var o=H(ae,this,ge).call(this,e,i);H(ae,this,ke).call(this,G(oe,this).INFO,null,"Response Status :",e.status),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Response Headers :",e.headers),H(ae,this,be).call(this,e||{}),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),H(ae,this,ve).call(this,o,t,n),s({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Caught error while processing response!"),H(ae,this,ke).call(this,G(oe,this).ERROR,null,e),e.data=H(ae,this,ye).call(this,e),r(e)}}function Ee(e,t,n,i,s,r,o,a){let d={};r.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);d.Authorization=`Basic ${t}`}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const l=H(ae,this,ce).call(this,n),u=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let h=e;u&&(h+=(h.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...H(ae,this,ce).call(this,i),...d};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=c();p["NTNX-Request-Id"]=e}null!=G(Y,this)&&(p.Cookie=H(ae,this,ce).call(this,{Cookie:G(Y,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:H(ae,this,ue).call(this,o);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),H(ae,this,ke).call(this,G(oe,this).INFO,null,"Request URL :",t,e),H(ae,this,ke).call(this,G(oe,this).DEBUG,H(ae,this,Fe),"Request Headers :",p),H(ae,this,ke).call(this,G(oe,this).DEBUG,null,"Request Body :",s||""),{url:h,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Ce(e,t,n,i,s,r){H(ae,this,ke).call(this,G(oe,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=f().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.data={path:f().parse(a),$objectType:"Path"};let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;r.flags=s,o.metadata=r}e.on("end",()=>{H(ae,this,ke).call(this,G(oe,this).INFO,null,"Finished streaming response"),0!==a.length?(H(ae,this,ke).call(this,G(oe,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),w().renameSync(n,a),i({data:o,response:e})):(H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{H(ae,this,ke).call(this,G(oe,this).ERROR,null,"Caught the following error :",e),error.data=H(ae,this,ye).call(this,error),s(e)})}function Ue(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}K=de,de.instance=new de;var Pe=new WeakSet;class Ae{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pe),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ae,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(L.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ue(Pe,this,Ie).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ue(Pe,this,Ie).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("argumentsMap","undefined or null"):new F("errorGroup","undefined or null"):new F("locale","undefined or null"):new F("code","undefined or null"):new F("severity","undefined or null"):new F("message","undefined or null")}}function Ie(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ae.prototype.message=void 0,Ae.prototype.severity=void 0,Ae.prototype.code=void 0,Ae.prototype.locale="en_US",Ae.prototype.errorGroup=void 0,Ae.prototype.argumentsMap=void 0,Ae.prototype.$reserved=void 0,Ae.prototype.$objectType=void 0,Ae.prototype.$unknownFields=void 0;var De=new WeakSet;class Ne{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=De),t.add(e),this.$objectType="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ne,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributePath","undefined or null"):new F("message","undefined or null"):new F("location","undefined or null")}}function Re(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ne.prototype.location=void 0,Ne.prototype.message=void 0,Ne.prototype.attributePath=void 0,Ne.prototype.$reserved=void 0,Ne.prototype.$objectType=void 0,Ne.prototype.$unknownFields=void 0;var Se=new WeakSet;class Le{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Se),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Le,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ne.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Re(Se,this,Me).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("validationErrorMessages","undefined or null"):new F("path","undefined or null"):new F("error","undefined or null"):new F("statusCode","undefined or null"):new F("timestamp","undefined or null")}}function Me(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function xe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Le.prototype.timestamp=void 0,Le.prototype.statusCode=void 0,Le.prototype.error=void 0,Le.prototype.path=void 0,Le.prototype.validationErrorMessages=void 0,Le.prototype.$reserved=void 0,Le.prototype.$objectType=void 0,Le.prototype.$unknownFields=void 0;var Je=new WeakSet;class _e{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Je),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new _e,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("iam.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";s=Ae.constructFromObject(i[r],void 0),o.push(s)}t.setError(o)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Le.constructFromObject(e.error,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):xe(Je,this,Ke).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):xe(Je,this,Ke).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}function Ke(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function We(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_e.prototype.error=void 0,_e.prototype.$reserved=void 0,_e.prototype.$objectType=void 0,_e.prototype.$unknownFields=void 0;var qe=new WeakSet;class Be extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qe),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Be,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):We(qe,this,ze).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):We(qe,this,ze).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ze(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Be.prototype.metadata=void 0,Be.prototype.data=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var Ge=new WeakSet;class Ve{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ge),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ve,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ve.prototype.tenantId=void 0,Ve.prototype.$reserved=void 0,Ve.prototype.$objectType=void 0,Ve.prototype.$unknownFields=void 0;var He=new WeakSet;class Xe extends Ve{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=He),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xe,Ve.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new F("extId","undefined or null");if(null==e){if(!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===k.update&&!j.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!j.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}return new F(t,"no such property exists")}}Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ye=new WeakSet;class Ze{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ye),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ze,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new F("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new F("ocspResponder","undefined or null");if(!j.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new F("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new F("crlDps","undefined or null");if(!j.validateMaxItems(this.crlDps,10))return new F("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("globalCrlRefreshInterval","undefined or null")}}function Qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ze.prototype.isOcspEnabled=void 0,Ze.prototype.ocspResponder=void 0,Ze.prototype.isCrlEnabled=void 0,Ze.prototype.crlDps=void 0,Ze.prototype.globalCrlRefreshInterval=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var et=new WeakSet;class tt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=et),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(Ze.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Qe(et,this,nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Qe(et,this,nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new F("clientCaChain","undefined or null");if(!j.validateMinLength(this.clientCaChain,64))return new F("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new F("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new F("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new F("dirSvcExtID","undefined or null");if(!j.validatePattern(this.dirSvcExtID,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("dirSvcExtID","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new F("caCertFileName","undefined or null");if(!j.validateMaxLength(this.caCertFileName,255))return new F("caCertFileName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.caCertFileName,1))return new F("caCertFileName","does not satisfy required minLength constraint: 1")}return"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("certRevocationInfo","undefined or null")}}function nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function it(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}tt.prototype.name=void 0,tt.prototype.clientCaChain=void 0,tt.prototype.isCertAuthEnabled=void 0,tt.prototype.isCacEnabled=void 0,tt.prototype.dirSvcExtID=void 0,tt.prototype.caCertFileName=void 0,tt.prototype.certRevocationInfo=void 0,tt.prototype.createdTime=void 0,tt.prototype.lastUpdatedTime=void 0,tt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var st=new WeakSet;class rt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=st),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new rt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.CertAuthProvider"!==d)throw"Unknown list of type "+d+" in data";s=tt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):it(st,this,ot).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):it(st,this,ot).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ot(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function at(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rt.prototype.metadata=void 0,rt.prototype.data=void 0,rt.prototype.$reserved=void 0,rt.prototype.$objectType=void 0,rt.prototype.$unknownFields=void 0;var dt=new WeakSet;class lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):at(dt,this,ut).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):at(dt,this,ut).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ut(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ht(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lt.prototype.metadata=void 0,lt.prototype.data=void 0,lt.prototype.$reserved=void 0,lt.prototype.$objectType=void 0,lt.prototype.$unknownFields=void 0;var ct=new WeakSet;class pt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ct),t.add(e),this.$objectType="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ht(ct,this,yt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ht(ct,this,yt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function yt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function gt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pt.prototype.metadata=void 0,pt.prototype.data=void 0,pt.prototype.$reserved=void 0,pt.prototype.$objectType=void 0,pt.prototype.$unknownFields=void 0;var vt=new WeakSet;class mt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vt),t.add(e),this.$objectType="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(tt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gt(vt,this,wt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gt(vt,this,wt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mt.prototype.metadata=void 0,mt.prototype.data=void 0,mt.prototype.$reserved=void 0,mt.prototype.$objectType=void 0,mt.prototype.$unknownFields=void 0;const $t={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($t).find(t=>$t[t]===e);return null==t?$t.$UNKNOWN:$t[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $t.$UNKNOWN:case $t.$REDACTED:case $t.ACTIVE_DIRECTORY:case $t.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze($t);const ft=$t;var bt=new WeakSet;class Tt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bt),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tt,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tt.prototype.username=void 0,Tt.prototype.password=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;const kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kt).find(t=>kt[t]===e);return null==t?kt.$UNKNOWN:kt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kt.$UNKNOWN:case kt.$REDACTED:case kt.NON_RECURSIVE:case kt.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(kt);const jt=kt;var Ft=new WeakSet;class Ot{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ft),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ot,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new F("userObjectClass","undefined or null");if(!j.validateMaxLength(this.userObjectClass,64))return new F("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new F("userSearchBase","undefined or null");if(!j.validateMaxLength(this.userSearchBase,200))return new F("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,64))return new F("usernameAttribute","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ot.prototype.userObjectClass=void 0,Ot.prototype.userSearchBase=void 0,Ot.prototype.usernameAttribute=void 0,Ot.prototype.$reserved=void 0,Ot.prototype.$objectType=void 0,Ot.prototype.$unknownFields=void 0;var Et=new WeakSet;class Ct{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Et),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new F("groupObjectClass","undefined or null");if(!j.validateMaxLength(this.groupObjectClass,64))return new F("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new F("groupSearchBase","undefined or null");if(!j.validateMaxLength(this.groupSearchBase,200))return new F("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new F("groupMemberAttribute","undefined or null");if(!j.validateMaxLength(this.groupMemberAttribute,64))return new F("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new F("groupMemberAttributeValue","undefined or null");if(!j.validateMaxLength(this.groupMemberAttributeValue,64))return new F("groupMemberAttributeValue","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ct.prototype.groupObjectClass=void 0,Ct.prototype.groupSearchBase=void 0,Ct.prototype.groupMemberAttribute=void 0,Ct.prototype.groupMemberAttributeValue=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;var Ut=new WeakSet;class Pt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ut),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pt,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(Ot.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(Ct.constructFromObject(e.userGroupConfiguration)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("userGroupConfiguration","undefined or null"):new F("userConfiguration","undefined or null")}}function At(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pt.prototype.userConfiguration=void 0,Pt.prototype.userGroupConfiguration=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;var It=new WeakSet;class Dt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=It),t.add(e),this.$objectType="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Dt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(ft.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Tt.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(Pt.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(jt.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:At(It,this,Nt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:At(It,this,Nt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new F("url","undefined or null");if(!j.validateMaxLength(this.url,2e3))return new F("url","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.url,3))return new F("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new F("secondaryUrls","undefined or null");if(!j.validateMaxItems(this.secondaryUrls,5))return new F("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new F("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new F("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new F("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new F("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new F("whiteListedGroups","undefined or null");if(!j.validateMaxItems(this.whiteListedGroups,1e3))return new F("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dt.prototype.name=void 0,Dt.prototype.url=void 0,Dt.prototype.secondaryUrls=void 0,Dt.prototype.domainName=void 0,Dt.prototype.directoryType=void 0,Dt.prototype.serviceAccount=void 0,Dt.prototype.openLdapConfiguration=void 0,Dt.prototype.groupSearchType=void 0,Dt.prototype.whiteListedGroups=void 0,Dt.prototype.createdTime=void 0,Dt.prototype.lastUpdatedTime=void 0,Dt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var St=new WeakSet;class Lt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=St),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Lt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rt(St,this,Mt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rt(St,this,Mt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Lt.prototype.metadata=void 0,Lt.prototype.data=void 0,Lt.prototype.$reserved=void 0,Lt.prototype.$objectType=void 0,Lt.prototype.$unknownFields=void 0;var xt=new WeakSet;class Jt{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xt),n.add(t),this.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Jt,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new F("query","undefined or null");if(!j.validateMaxLength(this.query,2e3))return new F("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new F("searchedAttributes","undefined or null");if(!j.validateMaxItems(this.searchedAttributes,25))return new F("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new F("returnedAttributes","undefined or null");if(!j.validateMaxItems(this.returnedAttributes,25))return new F("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("isWildcardSearch","undefined or null")}}function _t(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Jt.prototype.query=void 0,Jt.prototype.searchedAttributes=void 0,Jt.prototype.returnedAttributes=void 0,Jt.prototype.isWildcardSearch=!0,Jt.prototype.$reserved=void 0,Jt.prototype.$objectType=void 0,Jt.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Wt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Kt),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):_t(Kt,this,qt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):_t(Kt,this,qt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function qt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var Bt=new WeakSet;class zt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Bt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zt,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValues(){return this.values}setValues(e){this.values=e}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new F("values","undefined or null");if(!j.validateMaxItems(this.values,25))return new F("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,1e3))return new F("name","does not satisfy required maxLength constraint: 1000")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}zt.prototype.values=void 0,zt.prototype.name=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Gt=new WeakSet;class Vt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Gt),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Vt,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=zt.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new F("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,64))return new F("name","does not satisfy required maxLength constraint: 64")}if("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new F("attributes","undefined or null");if(!j.validateMaxItems(this.attributes,25))return new F("attributes","does not satisfy required maxItems constraint: 25")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Vt.prototype.entityType=void 0,Vt.prototype.name=void 0,Vt.prototype.attributes=void 0,Vt.prototype.$reserved=void 0,Vt.prototype.$objectType=void 0,Vt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Xt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ht),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xt,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Vt.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new F("searchResults","undefined or null");if(!j.validateMaxItems(this.searchResults,1e3))return new F("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!j.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xt.prototype.searchResults=void 0,Xt.prototype.domainName=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zt),t.add(e),this.$objectType="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Xt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Yt(Zt,this,en).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Yt(Zt,this,en).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function en(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function tn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Qt.prototype.metadata=void 0,Qt.prototype.data=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;var nn=new WeakSet;class sn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nn),t.add(e),this.$objectType="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):tn(nn,this,rn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):tn(nn,this,rn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function on(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;var an=new WeakSet;class dn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=an),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new dn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.DirectoryService"!==d)throw"Unknown list of type "+d+" in data";s=Dt.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):on(an,this,ln).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):on(an,this,ln).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ln(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}dn.prototype.metadata=void 0,dn.prototype.data=void 0,dn.prototype.$reserved=void 0,dn.prototype.$objectType=void 0,dn.prototype.$unknownFields=void 0;var un=new WeakSet;class hn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=un),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hn,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}hn.prototype.message=void 0,hn.prototype.$reserved=void 0,hn.prototype.$objectType=void 0,hn.prototype.$unknownFields=void 0;class cn extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cn,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function pn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var yn=new WeakSet;class gn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yn),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new gn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(cn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):pn(yn,this,vn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):pn(yn,this,vn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function vn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function mn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}gn.prototype.metadata=void 0,gn.prototype.data=void 0,gn.prototype.$reserved=void 0,gn.prototype.$objectType=void 0,gn.prototype.$unknownFields=void 0;var wn=new WeakSet;class $n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=wn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Dt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):mn(wn,this,fn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):mn(wn,this,fn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function fn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}$n.prototype.metadata=void 0,$n.prototype.data=void 0,$n.prototype.$reserved=void 0,$n.prototype.$objectType=void 0,$n.prototype.$unknownFields=void 0;var bn=new WeakSet;class Tn{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=bn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Tn.prototype.username=void 0,Tn.prototype.password=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;const kn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kn).find(t=>kn[t]===e);return null==t?kn.$UNKNOWN:kn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kn.$UNKNOWN:case kn.$REDACTED:case kn.USER_DEFINED:case kn.SERVICE_DEFINED:case kn.PREDEFINED_READ_ONLY:case kn.PREDEFINED_UPDATE_IDENTITY_ONLY:case kn.SERVICE_DEFINED_READ_ONLY:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY }")}}};Object.freeze(kn);const jn=kn;var Fn=new WeakSet;class On{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fn),t.add(e),this.$objectType="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entityFilter","undefined or null")}}On.prototype.entityFilter=void 0,On.prototype.$reserved=void 0,On.prototype.$objectType=void 0,On.prototype.$unknownFields=void 0;var En=new WeakSet;class Cn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=En),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=On.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!j.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new F("role","undefined or null");if(!j.validateMaxLength(this.role,255))return new F("role","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.role,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("role","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new F(t,"no such property exists")}}Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Un=new WeakSet;class Pn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Un),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pn,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("identityFilter","undefined or null")}}function An(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pn.prototype.identityFilter=void 0,Pn.prototype.$reserved=void 0,Pn.prototype.$objectType=void 0,Pn.prototype.$unknownFields=void 0;var In=new WeakSet;class Dn extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=In),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Dn,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=Pn.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(jn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:An(In,this,Nn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:An(In,this,Nn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new F("identities","undefined or null");if(!j.validateMaxItems(this.identities,600))return new F("identities","does not satisfy required maxItems constraint: 600");if(!j.validateMinItems(this.identities,1))return new F("identities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new F(t,"no such property exists"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("authorizationPolicyType","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function Nn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Rn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Sn=new WeakSet;class Ln extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Sn),t.add(e),this.$objectType="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ln,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rn(Sn,this,Mn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rn(Sn,this,Mn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Mn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function xn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ln.prototype.metadata=void 0,Ln.prototype.data=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Jn=new WeakSet;class _n extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Jn),t.add(e),this.$objectType="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _n,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):xn(Jn,this,Kn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):xn(Jn,this,Kn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}_n.prototype.metadata=void 0,_n.prototype.data=void 0,_n.prototype.$reserved=void 0,_n.prototype.$objectType=void 0,_n.prototype.$unknownFields=void 0;var Wn=new WeakSet;class qn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Wn),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Bn).find(t=>Bn[t]===e);return null==t?Bn.$UNKNOWN:Bn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Bn.$UNKNOWN:case Bn.$REDACTED:case Bn.IMPACTED:case Bn.NOT_IMPACTED:case Bn.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(Bn);const zn=Bn;function Gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Vn=new WeakSet;class Hn extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vn),t.add(e),this.$objectType="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Hn,qn.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(zn.constructFromObject(e.operationSchemaChangeImpact)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gn(Vn,this,Xn).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gn(Vn,this,Xn).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new F("accessibleClients","undefined or null");if(!j.validateMaxItems(this.accessibleClients,50))return new F("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new F("accessibleEntityTypes","undefined or null");if(!j.validateMaxItems(this.accessibleEntityTypes,500))return new F("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}return"accessibleClientsCount"!==t||void 0!==this.accessibleClientsCount&&null!==this.accessibleClientsCount?"accessibleEntityTypesCount"!==t||void 0!==this.accessibleEntityTypesCount&&null!==this.accessibleEntityTypesCount?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new F(t,"no such property exists"):new F("operationSchemaChangeImpact","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("accessibleEntityTypesCount","undefined or null"):new F("accessibleClientsCount","undefined or null")}}function Xn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Yn extends Hn{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yn,Hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Zn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Qn=new WeakSet;class ei extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qn),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ei,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(Yn.constructFromObject(e.roleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Zn(Qn,this,ti).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Zn(Qn,this,ti).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function ti(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ei.prototype.roleProjection=void 0,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ii=new WeakSet;class si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ii),t.add(e),this.$objectType="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.AuthorizationPolicy":s=Dn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=ei.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ni(ii,this,ri).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ni(ii,this,ri).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ri(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}si.prototype.metadata=void 0,si.prototype.data=void 0,si.prototype.$reserved=void 0,si.prototype.$objectType=void 0,si.prototype.$unknownFields=void 0;var ai=new WeakSet;class di extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ai),t.add(e),this.$objectType="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new di,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oi(ai,this,li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oi(ai,this,li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ui(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}di.prototype.metadata=void 0,di.prototype.data=void 0,di.prototype.$reserved=void 0,di.prototype.$objectType=void 0,di.prototype.$unknownFields=void 0;var hi=new WeakSet;class ci extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hi),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ci,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(Dn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ui(hi,this,pi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ui(hi,this,pi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ci.prototype.metadata=void 0,ci.prototype.data=void 0,ci.prototype.$reserved=void 0,ci.prototype.$objectType=void 0,ci.prototype.$unknownFields=void 0;var gi=new WeakSet;class vi extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=gi),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yi(gi,this,mi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yi(gi,this,mi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new F("deploymentList","undefined or null");if(!j.validateMaxItems(this.deploymentList,5))return new F("deploymentList","does not satisfy required maxItems constraint: 5");if(!j.validateMinItems(this.deploymentList,1))return new F("deploymentList","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}function mi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function wi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var $i=new WeakSet;class fi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$i),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Client":t.setData(vi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wi($i,this,bi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wi($i,this,bi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function bi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}fi.prototype.metadata=void 0,fi.prototype.data=void 0,fi.prototype.$reserved=void 0,fi.prototype.$objectType=void 0,fi.prototype.$unknownFields=void 0;const Ti={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ti).find(t=>Ti[t]===e);return null==t?Ti.$UNKNOWN:Ti[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ti.$UNKNOWN:case Ti.$REDACTED:case Ti.ALLOF:case Ti.ANYOF:case Ti.EQ:case Ti.NONEOF:case Ti.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Ti);const ki=Ti;var ji=new WeakSet;class Fi extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ji),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Fi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=ki.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^\\\"]*$/))return new F("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new F("supportedOperators","undefined or null");if(!j.validateMaxItems(this.supportedOperators,5))return new F("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new F("attributeValues","undefined or null");if(!j.validateMaxItems(this.attributeValues,25))return new F("attributeValues","does not satisfy required maxItems constraint: 25")}return new F(t,"no such property exists")}}function Oi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fi.prototype.displayName=void 0,Fi.prototype.name=void 0,Fi.prototype.supportedOperators=void 0,Fi.prototype.attributeValues=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ei=new WeakSet;class Ci extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ei),t.add(e),this.$objectType="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Ci,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=Fi.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Oi(Ei,this,Ui).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Oi(Ei,this,Ui).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new F("searchURL","undefined or null");if(!j.validateMaxLength(this.searchURL,2e3))return new F("searchURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.searchURL,3))return new F("searchURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new F("attributeList","undefined or null");if(!j.validateMaxItems(this.attributeList,10))return new F("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new F(t,"no such property exists"):new F("isLogicalAndSupportedForAttributes","undefined or null")}}function Ui(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Pi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ai=new WeakSet;class Ii extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ai),t.add(e),this.$objectType="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ii,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Entity"!==d)throw"Unknown list of type "+d+" in data";s=Ci.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Pi(Ai,this,Di).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Pi(Ai,this,Di).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Di(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ii.prototype.metadata=void 0,Ii.prototype.data=void 0,Ii.prototype.$reserved=void 0,Ii.prototype.$objectType=void 0,Ii.prototype.$unknownFields=void 0;var Ri=new WeakSet;class Si extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ri),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Si,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Entity":t.setData(Ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ni(Ri,this,Li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ni(Ri,this,Li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Si.prototype.metadata=void 0,Si.prototype.data=void 0,Si.prototype.$reserved=void 0,Si.prototype.$objectType=void 0,Si.prototype.$unknownFields=void 0;const Mi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Mi).find(t=>Mi[t]===e);return null==t?Mi.$UNKNOWN:Mi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Mi.$UNKNOWN:case Mi.$REDACTED:case Mi.LOCAL:case Mi.SAML:case Mi.LDAP:case Mi.CERT:case Mi.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Mi);const xi=Mi;function Ji(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var _i=new WeakSet;class Ki extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_i),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ki,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(xi.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ji(_i,this,Wi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ji(_i,this,Wi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"type"!==t||void 0!==this.type&&null!==this.type?"isBrowserLoginSupported"!==t||void 0!==this.isBrowserLoginSupported&&null!==this.isBrowserLoginSupported?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isBrowserLoginSupported","undefined or null"):new F("type","undefined or null")}}function Wi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ki.prototype.name=void 0,Ki.prototype.type=void 0,Ki.prototype.isBrowserLoginSupported=void 0,Ki.prototype.createdTime=void 0,Ki.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Bi=new WeakSet;class zi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bi),t.add(e),this.$objectType="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new zi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.LoginProvider"!==d)throw"Unknown list of type "+d+" in data";s=Ki.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qi(Bi,this,Gi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qi(Bi,this,Gi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}zi.prototype.metadata=void 0,zi.prototype.data=void 0,zi.prototype.$reserved=void 0,zi.prototype.$objectType=void 0,zi.prototype.$unknownFields=void 0;const Vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vi).find(t=>Vi[t]===e);return null==t?Vi.$UNKNOWN:Vi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vi.$UNKNOWN:case Vi.$REDACTED:case Vi.V3:case Vi.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(Vi);const Hi=Vi,Xi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xi).find(t=>Xi[t]===e);return null==t?Xi.$UNKNOWN:Xi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xi.$UNKNOWN:case Xi.$REDACTED:case Xi.POST:case Xi.GET:case Xi.PUT:case Xi.PATCH:case Xi.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(Xi);const Yi=Xi;var Zi=new WeakSet;class Qi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Zi),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qi,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(Hi.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Yi.constructFromObject(e.httpMethod)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new F("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new F("endpointUrl","undefined or null");if(!j.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("httpMethod","undefined or null")}}Qi.prototype.apiVersion=void 0,Qi.prototype.endpointUrl=void 0,Qi.prototype.httpMethod=void 0,Qi.prototype.$reserved=void 0,Qi.prototype.$objectType=void 0,Qi.prototype.$unknownFields=void 0;var es=new WeakSet;class ts{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=es),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ts,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new F("notes","undefined or null");if(!j.validateMaxLength(this.notes,1e3))return new F("notes","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ts.prototype.notes=void 0,ts.prototype.$reserved=void 0,ts.prototype.$objectType=void 0,ts.prototype.$unknownFields=void 0;const ns={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ns).find(t=>ns[t]===e);return null==t?ns.$UNKNOWN:ns[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ns.$UNKNOWN:case ns.$REDACTED:case ns.INTERNAL:case ns.SYSTEM_DEFINED_ONLY:case ns.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(ns);const is=ns;function ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var rs=new WeakSet;class os extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=rs),t.add(e),this.$objectType="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new os,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(is.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=Qi.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(ts.constructFromObject(e.migrationActionNotes)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ss(rs,this,as).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ss(rs,this,as).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!j.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new F("entityType","undefined or null");if(!j.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new F("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new F("relatedOperationList","undefined or null");if(!j.validateMaxItems(this.relatedOperationList,1e3))return new F("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new F("associatedEndpointList","undefined or null");if(!j.validateMaxItems(this.associatedEndpointList,4))return new F("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new F(t,"no such property exists"):new F("migrationActionNotes","undefined or null")}}function as(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ds(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ls=new WeakSet;class us extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ls),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authz.Operation"!==d)throw"Unknown list of type "+d+" in data";s=os.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ds(ls,this,hs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ds(ls,this,hs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}us.prototype.metadata=void 0,us.prototype.data=void 0,us.prototype.$reserved=void 0,us.prototype.$objectType=void 0,us.prototype.$unknownFields=void 0;var ps=new WeakSet;class ys extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ps),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ys,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Operation":t.setData(os.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):cs(ps,this,gs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):cs(ps,this,gs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ys.prototype.metadata=void 0,ys.prototype.data=void 0,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var ms=new WeakSet;class ws extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ms),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ws,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vs(ms,this,$s).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vs(ms,this,$s).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $s(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function fs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ws.prototype.metadata=void 0,ws.prototype.data=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var bs=new WeakSet;class Ts extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=bs),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ts,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):fs(bs,this,ks).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):fs(bs,this,ks).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ks(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function js(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ts.prototype.metadata=void 0,Ts.prototype.data=void 0,Ts.prototype.$reserved=void 0,Ts.prototype.$objectType=void 0,Ts.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Os extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fs),t.add(e),this.$objectType="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Os,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(Hn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):js(Fs,this,Es).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):js(Fs,this,Es).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Es(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Os.prototype.metadata=void 0,Os.prototype.data=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var Us=new WeakSet;class Ps extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Us),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ps,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.Role":s=Hn.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleProjection":s=Yn.constructFromObject(i[o],void 0),a.push(s);break;default:throw"Unknown list of type "+d+" in data"}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cs(Us,this,As).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cs(Us,this,As).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function As(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Is(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ps.prototype.metadata=void 0,Ps.prototype.data=void 0,Ps.prototype.$reserved=void 0,Ps.prototype.$objectType=void 0,Ps.prototype.$unknownFields=void 0;var Ds=new WeakSet;class Ns extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ds),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ns,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(x.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Is(Ds,this,Rs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Is(Ds,this,Rs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ss(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ns.prototype.metadata=void 0,Ns.prototype.data=void 0,Ns.prototype.$reserved=void 0,Ns.prototype.$objectType=void 0,Ns.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Ms extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ls),t.add(e),this.$objectType="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ss(Ls,this,xs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ss(Ls,this,xs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;const Js={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Js).find(t=>Js[t]===e);return null==t?Js.$UNKNOWN:Js[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Js.$UNKNOWN:case Js.$REDACTED:case Js.EMAILADDRESS:case Js.UNSPECIFIED:case Js.X509SUBJECTNAME:case Js.WINDOWSDOMAINQUALIFIEDNAME:case Js.ENCRYPTED:case Js.ENTITY:case Js.KERBEROS:case Js.PERSISTENT:case Js.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(Js);const _s=Js;var Ks=new WeakSet;class Ws{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ks),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ws,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(_s.constructFromObject(e.nameIdPolicyFormat)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!j.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new F("loginUrl","undefined or null");if(!j.validateMaxLength(this.loginUrl,2e3))return new F("loginUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.loginUrl,3))return new F("loginUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new F("logoutUrl","undefined or null");if(!j.validateMaxLength(this.logoutUrl,2e3))return new F("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.logoutUrl,3))return new F("logoutUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new F("errorUrl","undefined or null");if(!j.validateMaxLength(this.errorUrl,2e3))return new F("errorUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.errorUrl,3))return new F("errorUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new F("certificate","undefined or null");if(!j.validateMinLength(this.certificate,64))return new F("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nameIdPolicyFormat","undefined or null")}}function qs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ws.prototype.entityId=void 0,Ws.prototype.loginUrl=void 0,Ws.prototype.logoutUrl=void 0,Ws.prototype.errorUrl=void 0,Ws.prototype.certificate=void 0,Ws.prototype.nameIdPolicyFormat=void 0,Ws.prototype.$reserved=void 0,Ws.prototype.$objectType=void 0,Ws.prototype.$unknownFields=void 0;var Bs=new WeakSet;class zs extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bs),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new zs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(Ws.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qs(Bs,this,Gs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:qs(Bs,this,Gs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new F("idpMetadataUrl","undefined or null");if(!j.validateMaxLength(this.idpMetadataUrl,2e3))return new F("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.idpMetadataUrl,3))return new F("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new F("idpMetadataXml","undefined or null");if(!j.validateMinLength(this.idpMetadataXml,3))return new F("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new F("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!j.validateMaxLength(this.usernameAttribute,256))return new F("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.usernameAttribute,1))return new F("usernameAttribute","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new F("emailAttribute","undefined or null");if(!j.validateMaxLength(this.emailAttribute,256))return new F("emailAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.emailAttribute,3))return new F("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new F("groupsAttribute","undefined or null");if(!j.validateMaxLength(this.groupsAttribute,256))return new F("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!j.validateMinLength(this.groupsAttribute,3))return new F("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new F("groupsDelim","undefined or null");if(!j.validateMaxLength(this.groupsDelim,3))return new F("groupsDelim","does not satisfy required maxLength constraint: 3");if(!j.validateMinLength(this.groupsDelim,1))return new F("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new F("redirectURL","undefined or null");if(!j.validateMaxLength(this.redirectURL,2e3))return new F("redirectURL","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.redirectURL,3))return new F("redirectURL","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new F("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new F("customAttributes","undefined or null");if(!j.validateMaxItems(this.customAttributes,25))return new F("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new F("entityIssuer","undefined or null");if(!j.validateMaxLength(this.entityIssuer,2e3))return new F("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.entityIssuer,3))return new F("entityIssuer","does not satisfy required minLength constraint: 3")}return"isSignedAuthnReqEnabled"!==t||void 0!==this.isSignedAuthnReqEnabled&&null!==this.isSignedAuthnReqEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSignedAuthnReqEnabled","undefined or null")}}function Gs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zs.prototype.idpMetadataUrl=void 0,zs.prototype.idpMetadataXml=void 0,zs.prototype.idpMetadata=void 0,zs.prototype.name=void 0,zs.prototype.usernameAttribute="name",zs.prototype.emailAttribute="email",zs.prototype.groupsAttribute=void 0,zs.prototype.groupsDelim=void 0,zs.prototype.redirectURL=void 0,zs.prototype.customAttributes=void 0,zs.prototype.entityIssuer=void 0,zs.prototype.isSignedAuthnReqEnabled=void 0,zs.prototype.createdTime=void 0,zs.prototype.lastUpdatedTime=void 0,zs.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Hs=new WeakSet;class Xs extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Hs),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Xs,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vs(Hs,this,Ys).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vs(Hs,this,Ys).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ys(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xs.prototype.metadata=void 0,Xs.prototype.data=void 0,Xs.prototype.$reserved=void 0,Xs.prototype.$objectType=void 0,Xs.prototype.$unknownFields=void 0;var Qs=new WeakSet;class er extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qs),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new er,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zs(Qs,this,tr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zs(Qs,this,tr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function tr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function nr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}er.prototype.metadata=void 0,er.prototype.data=void 0,er.prototype.$reserved=void 0,er.prototype.$objectType=void 0,er.prototype.$unknownFields=void 0;var ir=new WeakSet;class sr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ir),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(zs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):nr(ir,this,rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):nr(ir,this,rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function or(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sr.prototype.metadata=void 0,sr.prototype.data=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var ar=new WeakSet;class dr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ar),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):or(ar,this,lr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):or(ar,this,lr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function lr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ur(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dr.prototype.metadata=void 0,dr.prototype.data=void 0,dr.prototype.$reserved=void 0,dr.prototype.$objectType=void 0,dr.prototype.$unknownFields=void 0;var hr=new WeakSet;class cr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hr),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new cr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.SamlIdentityProvider"!==d)throw"Unknown list of type "+d+" in data";s=zs.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ur(hr,this,pr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ur(hr,this,pr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}cr.prototype.metadata=void 0,cr.prototype.data=void 0,cr.prototype.$reserved=void 0,cr.prototype.$objectType=void 0,cr.prototype.$unknownFields=void 0;var gr=new WeakSet;class vr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gr),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new vr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):yr(gr,this,mr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):yr(gr,this,mr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function mr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}vr.prototype.metadata=void 0,vr.prototype.data=void 0,vr.prototype.$reserved=void 0,vr.prototype.$objectType=void 0,vr.prototype.$unknownFields=void 0;const wr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(wr).find(t=>wr[t]===e);return null==t?wr.$UNKNOWN:wr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case wr.$UNKNOWN:case wr.$REDACTED:case wr.SAML:case wr.LDAP:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP }")}}};Object.freeze(wr);const $r=wr;function fr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var br=new WeakSet;class Tr extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=br),t.add(e),this.$objectType="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType($r.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:fr(br,this,kr).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:fr(br,this,kr).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new F("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new F("distinguishedName","undefined or null");if(!j.validateMaxLength(this.distinguishedName,255))return new F("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function kr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Tr.prototype.groupType=void 0,Tr.prototype.idpId=void 0,Tr.prototype.name=void 0,Tr.prototype.distinguishedName=void 0,Tr.prototype.createdTime=void 0,Tr.prototype.lastUpdatedTime=void 0,Tr.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fr=new WeakSet;class Or extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Fr),t.add(e),this.$objectType="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Or,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):jr(Fr,this,Er).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):jr(Fr,this,Er).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Er(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Or.prototype.metadata=void 0,Or.prototype.data=void 0,Or.prototype.$reserved=void 0,Or.prototype.$objectType=void 0,Or.prototype.$unknownFields=void 0;var Ur=new WeakSet;class Pr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ur),t.add(e),this.$objectType="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Pr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.UserGroup"!==d)throw"Unknown list of type "+d+" in data";s=Tr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cr(Ur,this,Ar).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cr(Ur,this,Ar).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ir(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pr.prototype.metadata=void 0,Pr.prototype.data=void 0,Pr.prototype.$reserved=void 0,Pr.prototype.$objectType=void 0,Pr.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Nr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dr),t.add(e),this.$objectType="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ir(Dr,this,Rr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ir(Dr,this,Rr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Nr.prototype.metadata=void 0,Nr.prototype.data=void 0,Nr.prototype.$reserved=void 0,Nr.prototype.$objectType=void 0,Nr.prototype.$unknownFields=void 0;var Lr=new WeakSet;class Mr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lr),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(Tr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sr(Lr,this,xr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sr(Lr,this,xr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Mr.prototype.metadata=void 0,Mr.prototype.data=void 0,Mr.prototype.$reserved=void 0,Mr.prototype.$objectType=void 0,Mr.prototype.$unknownFields=void 0;var Jr=new WeakSet;class _r{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Jr),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new F("apiKey","undefined or null");if(!j.validateMaxLength(this.apiKey,32))return new F("apiKey","does not satisfy required maxLength constraint: 32");if(!j.validateMinLength(this.apiKey,32))return new F("apiKey","does not satisfy required minLength constraint: 32")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}_r.prototype.apiKey=void 0,_r.prototype.$reserved=void 0,_r.prototype.$objectType=void 0,_r.prototype.$unknownFields=void 0;const Kr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Kr).find(t=>Kr[t]===e);return null==t?Kr.$UNKNOWN:Kr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Kr.$UNKNOWN:case Kr.$REDACTED:case Kr.PREDEFINED:case Kr.USERDEFINED:case Kr.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(Kr);const Wr=Kr,qr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(qr).find(t=>qr[t]===e);return null==t?qr.$UNKNOWN:qr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qr.$UNKNOWN:case qr.$REDACTED:case qr.API_KEY:case qr.OBJECT_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY }")}}};Object.freeze(qr);const Br=qr,zr={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zr).find(t=>zr[t]===e);return null==t?zr.$UNKNOWN:zr[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zr.$UNKNOWN:case zr.$REDACTED:case zr.VALID:case zr.REVOKED:case zr.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(zr);const Gr=zr;var Vr=new WeakSet;class Hr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vr),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hr,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new F("secretKey","undefined or null");if(!j.validateMaxLength(this.secretKey,24))return new F("secretKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.secretKey,24))return new F("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new F("accessKey","undefined or null");if(!j.validateMaxLength(this.accessKey,24))return new F("accessKey","does not satisfy required maxLength constraint: 24");if(!j.validateMinLength(this.accessKey,24))return new F("accessKey","does not satisfy required minLength constraint: 24")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Xr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hr.prototype.secretKey=void 0,Hr.prototype.accessKey=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Yr=new WeakSet;class Zr extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Yr),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(Br.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Gr.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(_r.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Hr.constructFromObject(e.keyDetails,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xr(Yr,this,eo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xr(Yr,this,eo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Xr(Yr,this,eo).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xr(Yr,this,Qr).call(this,this.getKeyDetails(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Xr(Yr,this,eo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!j.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new F("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new F(t,"no such property exists"):new F("keyDetails","undefined or null"):new F("lastUsedTime","undefined or null")}}function Qr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function eo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function to(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zr.prototype.name=void 0,Zr.prototype.description=void 0,Zr.prototype.keyType=void 0,Zr.prototype.createdTime=void 0,Zr.prototype.lastUpdatedBy=void 0,Zr.prototype.creationType=void 0,Zr.prototype.expiryTime=void 0,Zr.prototype.status=void 0,Zr.prototype.createdBy=void 0,Zr.prototype.lastUpdatedTime=void 0,Zr.prototype.assignedTo=void 0,Zr.prototype.lastUsedTime=void 0,Zr.prototype.keyDetails=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var no=new WeakSet;class io extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=no),t.add(e),this.$objectType="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new io,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):to(no,this,so).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):to(no,this,so).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function so(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}io.prototype.metadata=void 0,io.prototype.data=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;class ro extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ro,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function oo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ao=new WeakSet;class lo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ao),t.add(e),this.$objectType="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordResetResponse":t.setData(ro.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oo(ao,this,uo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oo(ao,this,uo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function uo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}lo.prototype.metadata=void 0,lo.prototype.data=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;const ho={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ho).find(t=>ho[t]===e);return null==t?ho.$UNKNOWN:ho[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ho.$UNKNOWN:case ho.$REDACTED:case ho.ACTIVE:case ho.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(ho);const co=ho;var po=new WeakSet;class yo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=po),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yo,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("status","undefined or null")}}yo.prototype.status=void 0,yo.prototype.$reserved=void 0,yo.prototype.$objectType=void 0,yo.prototype.$unknownFields=void 0;class go extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new go,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var mo=new WeakSet;class wo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mo),t.add(e),this.$objectType="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserStateUpdateResponse":t.setData(go.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vo(mo,this,$o).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vo(mo,this,$o).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $o(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}wo.prototype.metadata=void 0,wo.prototype.data=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;const fo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fo).find(t=>fo[t]===e);return null==t?fo.$UNKNOWN:fo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fo.$UNKNOWN:case fo.$REDACTED:case fo.VALID:case fo.REVOKED:case fo.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(fo);const bo=fo;function To(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ko=new WeakSet;class jo extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ko),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(bo.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:To(ko,this,Fo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:To(ko,this,Fo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:To(ko,this,Fo).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new F("accessKeyName","undefined or null");if(!j.validateMaxLength(this.accessKeyName,255))return new F("accessKeyName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.accessKeyName,1))return new F("accessKeyName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null")}}function Fo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}jo.prototype.accessKeyName=void 0,jo.prototype.secretAccessKey=void 0,jo.prototype.userId=void 0,jo.prototype.createdTime=void 0,jo.prototype.lastUpdatedBy=void 0,jo.prototype.assignedTo=void 0,jo.prototype.creationType=void 0,jo.prototype.expiryTime=void 0,jo.prototype.status=void 0,jo.prototype.createdBy=void 0,jo.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oo).find(t=>Oo[t]===e);return null==t?Oo.$UNKNOWN:Oo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oo.$UNKNOWN:case Oo.$REDACTED:case Oo.LOCAL:case Oo.SAML:case Oo.LDAP:case Oo.EXTERNAL:case Oo.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT }")}}};Object.freeze(Oo);const Eo=Oo;function Co(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Uo=new WeakSet;class Po extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Uo),t.add(e),this.$objectType="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Po,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=jo.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:Co(Uo,this,Ao).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Co(Uo,this,Ao).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Co(Uo,this,Ao).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new F("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new F("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new F("additionalAttributes","undefined or null");if(!j.validateMaxItems(this.additionalAttributes,10))return new F("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new F("bucketsAccessKeys","undefined or null");if(!j.validateMaxItems(this.bucketsAccessKeys,5))return new F("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new F("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!j.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!j.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?new F(t,"no such property exists"):new F("creationType","undefined or null"):new F("description","undefined or null")}}function Ao(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Io(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Po.prototype.username=void 0,Po.prototype.userType=void 0,Po.prototype.idpId=void 0,Po.prototype.displayName=void 0,Po.prototype.firstName=void 0,Po.prototype.middleInitial=void 0,Po.prototype.lastName=void 0,Po.prototype.emailId=void 0,Po.prototype.locale=void 0,Po.prototype.region=void 0,Po.prototype.password=void 0,Po.prototype.isForceResetPasswordEnabled=void 0,Po.prototype.additionalAttributes=void 0,Po.prototype.status=void 0,Po.prototype.bucketsAccessKeys=void 0,Po.prototype.lastLoginTime=void 0,Po.prototype.createdTime=void 0,Po.prototype.lastUpdatedTime=void 0,Po.prototype.createdBy=void 0,Po.prototype.lastUpdatedBy=void 0,Po.prototype.description=void 0,Po.prototype.creationType=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Do=new WeakSet;class No extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Do),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new No,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.Key"!==d)throw"Unknown list of type "+d+" in data";s=Zr.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Io(Do,this,Ro).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Io(Do,this,Ro).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ro(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function So(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}No.prototype.metadata=void 0,No.prototype.data=void 0,No.prototype.$reserved=void 0,No.prototype.$objectType=void 0,No.prototype.$unknownFields=void 0;var Lo=new WeakSet;class Mo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lo),t.add(e),this.$objectType="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.AppMessage":t.setData(Ae.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):So(Lo,this,xo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):So(Lo,this,xo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Jo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Mo.prototype.metadata=void 0,Mo.prototype.data=void 0,Mo.prototype.$reserved=void 0,Mo.prototype.$objectType=void 0,Mo.prototype.$unknownFields=void 0;var _o=new WeakSet;class Ko extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_o),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ko,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Zr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jo(_o,this,Wo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jo(_o,this,Wo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Wo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ko.prototype.metadata=void 0,Ko.prototype.data=void 0,Ko.prototype.$reserved=void 0,Ko.prototype.$objectType=void 0,Ko.prototype.$unknownFields=void 0;var Bo=new WeakSet;class zo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bo),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qo(Bo,this,Go).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qo(Bo,this,Go).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Go(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Vo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}zo.prototype.metadata=void 0,zo.prototype.data=void 0,zo.prototype.$reserved=void 0,zo.prototype.$objectType=void 0,zo.prototype.$unknownFields=void 0;var Ho=new WeakSet;class Xo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ho),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Xo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++){if("iam.v4.authn.User"!==d)throw"Unknown list of type "+d+" in data";s=Po.constructFromObject(i[o],void 0),a.push(s)}t.setData(a)}else{if(d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"!==d)throw"Unknown datatype "+d+" in data";t.setData(_e.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vo(Ho,this,Yo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vo(Ho,this,Yo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Yo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Zo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xo.prototype.metadata=void 0,Xo.prototype.data=void 0,Xo.prototype.$reserved=void 0,Xo.prototype.$objectType=void 0,Xo.prototype.$unknownFields=void 0;var Qo=new WeakSet;class ea extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qo),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ea,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Zo(Qo,this,ta).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Zo(Qo,this,ta).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ta(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function na(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ea.prototype.metadata=void 0,ea.prototype.data=void 0,ea.prototype.$reserved=void 0,ea.prototype.$objectType=void 0,ea.prototype.$unknownFields=void 0;var ia=new WeakSet;class sa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ia),t.add(e),this.$objectType="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):na(ia,this,ra).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):na(ia,this,ra).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}sa.prototype.metadata=void 0,sa.prototype.data=void 0,sa.prototype.$reserved=void 0,sa.prototype.$objectType=void 0,sa.prototype.$unknownFields=void 0;var oa=new WeakSet;class aa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=oa),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new aa,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null"):new F("oldPassword","undefined or null")}}function da(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}aa.prototype.username=void 0,aa.prototype.oldPassword=void 0,aa.prototype.newPassword=void 0,aa.prototype.$reserved=void 0,aa.prototype.$objectType=void 0,aa.prototype.$unknownFields=void 0;var la=new WeakSet;class ua extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=la),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(Po.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):da(la,this,ha).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):da(la,this,ha).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ha(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ua.prototype.metadata=void 0,ua.prototype.data=void 0,ua.prototype.$reserved=void 0,ua.prototype.$objectType=void 0,ua.prototype.$unknownFields=void 0;var ca=new WeakSet;class pa{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ca),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pa,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null")}}pa.prototype.newPassword=void 0,pa.prototype.$reserved=void 0,pa.prototype.$objectType=void 0,pa.prototype.$unknownFields=void 0;class ya extends hn{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ya,hn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function ga(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var va=new WeakSet;class ma extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=va),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ma,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordChangeResponse":t.setData(ya.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ga(va,this,wa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ga(va,this,wa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function $a(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ma.prototype.metadata=void 0,ma.prototype.data=void 0,ma.prototype.$reserved=void 0,ma.prototype.$objectType=void 0,ma.prototype.$unknownFields=void 0;var fa=new WeakSet;class ba{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=fa),t.add(e),this.$objectType="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ba,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:$a(fa,this,Ta).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:$a(fa,this,Ta).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new F("content","undefined or null");if(!j.validateMaxLength(this.content,1e4))return new F("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isEnabled","undefined or null")}}function Ta(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ka(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ba.prototype.content=void 0,ba.prototype.isEnabled=!0,ba.prototype.createdTime=void 0,ba.prototype.lastUpdatedTime=void 0,ba.prototype.$reserved=void 0,ba.prototype.$objectType=void 0,ba.prototype.$unknownFields=void 0;var ja=new WeakSet;class Fa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ja),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ka(ja,this,Oa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ka(ja,this,Oa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Oa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ea(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fa.prototype.metadata=void 0,Fa.prototype.data=void 0,Fa.prototype.$reserved=void 0,Fa.prototype.$objectType=void 0,Fa.prototype.$unknownFields=void 0;var Ca=new WeakSet;class Ua extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ca),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ua,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(ba.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(_e.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ea(Ca,this,Pa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ea(Ca,this,Pa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Pa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ua.prototype.metadata=void 0,Ua.prototype.data=void 0,Ua.prototype.$reserved=void 0,Ua.prototype.$objectType=void 0,Ua.prototype.$unknownFields=void 0;const Aa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Aa).find(t=>Aa[t]===e);return null==t?Aa.$UNKNOWN:Aa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Aa.$UNKNOWN:case Aa.$REDACTED:case Aa.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(Aa);const Ia=Aa,Da={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Da).find(t=>Da[t]===e);return null==t?Da.$UNKNOWN:Da[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Da.$UNKNOWN:case Da.$REDACTED:case Da.CLIENT_SECRET_BASIC:case Da.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(Da);const Na=Da;var Ra=new WeakSet;class Sa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ra),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Sa,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new F("authCodeUri","undefined or null");if(!j.validateMaxLength(this.authCodeUri,2e3))return new F("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Sa.prototype.authCodeUri=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;const La={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(La).find(t=>La[t]===e);return null==t?La.$UNKNOWN:La[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case La.$UNKNOWN:case La.$REDACTED:case La.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze(La);const Ma=La;var xa=new WeakSet;class Ja{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=xa),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ja,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(Ma.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}Ja.prototype.migrationType=void 0,Ja.prototype.$reserved=void 0,Ja.prototype.$objectType=void 0,Ja.prototype.$unknownFields=void 0;var _a=new WeakSet;class Ka{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=_a),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ka,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new F("relayState","undefined or null");if(!j.validateMaxLength(this.relayState,255))return new F("relayState","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.relayState,1))return new F("relayState","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ka.prototype.relayState=void 0,Ka.prototype.$reserved=void 0,Ka.prototype.$objectType=void 0,Ka.prototype.$unknownFields=void 0;const Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wa).find(t=>Wa[t]===e);return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.UUID:case Wa.TENANT_UUID:case Wa.SUB:case Wa.EMAIL:case Wa.DISPLAY_NAME:case Wa.GROUPS:case Wa.ISS:case Wa.AUD:case Wa.EXP:case Wa.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(Wa);const qa=Wa;var Ba=new WeakSet;class za extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ba),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new za,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}za.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ga=new WeakSet;class Va extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Ga),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Va,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}Va.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Ha=new WeakSet;class Xa{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ha),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xa,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=za.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Va.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,20))return new F("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new F("ous","undefined or null");if(!j.validateMaxItems(this.ous,20))return new F("ous","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xa.prototype.userId=void 0,Xa.prototype.groups=void 0,Xa.prototype.ous=void 0,Xa.prototype.$reserved=void 0,Xa.prototype.$objectType=void 0,Xa.prototype.$unknownFields=void 0;const Ya={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ya).find(t=>Ya[t]===e);return null==t?Ya.$UNKNOWN:Ya[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ya.$UNKNOWN:case Ya.$REDACTED:case Ya.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Ya);const Za=Ya;var Qa=new WeakSet;class ed{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Qa),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ed,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getEmail(){return this.email}setEmail(e){this.email=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,16))return new F("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,16))return new F("email","does not satisfy required maxLength constraint: 16")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function td(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ed.prototype.name=void 0,ed.prototype.email=void 0,ed.prototype.$reserved=void 0,ed.prototype.$objectType=void 0,ed.prototype.$unknownFields=void 0;var nd=new WeakSet;class id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=nd),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(ed.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:td(nd,this,sd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:td(nd,this,sd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new F("wellKnownConfig","undefined or null");if(!j.validateMaxLength(this.wellKnownConfig,2e3))return new F("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!j.validateMinLength(this.wellKnownConfig,3))return new F("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!j.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new F("cloudTenant","undefined or null");if(!j.validatePattern(this.cloudTenant,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("cloudTenant","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new F("cloudApiKey","undefined or null");if(!j.validateMaxLength(this.cloudApiKey,128))return new F("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("claimMap","undefined or null")}}function sd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}id.prototype.wellKnownConfig=void 0,id.prototype.idpId=void 0,id.prototype.cloudTenant=void 0,id.prototype.cloudApiKey=void 0,id.prototype.claimMap=void 0,id.prototype.createdTime=void 0,id.prototype.lastUpdatedTime=void 0,id.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const rd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(rd).find(t=>rd[t]===e);return null==t?rd.$UNKNOWN:rd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case rd.$UNKNOWN:case rd.$REDACTED:case rd.AUTHORIZATION_CODE:case rd.REFRESH_TOKEN:case rd.CLIENT_CREDENTIALS:case rd.PASSWORD:case rd.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(rd);const od=rd;var ad=new WeakSet;class dd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ad),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new dd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}dd.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var ld=new WeakSet;class ud{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ld),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ud,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("maxKeyCount","undefined or null")}}ud.prototype.maxKeyCount=void 0,ud.prototype.$reserved=void 0,ud.prototype.$objectType=void 0,ud.prototype.$unknownFields=void 0;const hd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hd).find(t=>hd[t]===e);return null==t?hd.$UNKNOWN:hd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hd.$UNKNOWN:case hd.$REDACTED:case hd.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(hd);const cd=hd,pd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pd).find(t=>pd[t]===e);return null==t?pd.$UNKNOWN:pd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pd.$UNKNOWN:case pd.$REDACTED:case pd.ID_TOKEN:case pd.CODE:case pd.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(pd);const yd=pd,gd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(gd).find(t=>gd[t]===e);return null==t?gd.$UNKNOWN:gd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case gd.$UNKNOWN:case gd.$REDACTED:case gd.OPENID:case gd.PROFILE:case gd.EMAIL:case gd.OFFLINE_ACCESS:case gd.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(gd);const vd=gd;var md=new WeakSet;class wd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=md),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new wd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(yd.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=vd.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new F("clientId","undefined or null");if(!j.validatePattern(this.clientId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("clientId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new F("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxItems(this.scope,10))return new F("scope","does not satisfy required maxItems constraint: 10");if(!j.validateMinItems(this.scope,1))return new F("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validateMaxLength(this.redirectUri,2e3))return new F("redirectUri","does not satisfy required maxLength constraint: 2000");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new F("nonce","undefined or null");if(!j.validateMaxLength(this.nonce,2e3))return new F("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new F("state","undefined or null");if(!j.validateMaxLength(this.state,2e3))return new F("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new F("audience","undefined or null");if(!j.validateMaxLength(this.audience,2e3))return new F("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new F("approvalPrompt","undefined or null");if(!j.validateMaxLength(this.approvalPrompt,2e3))return new F("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new F("loginProviderId","undefined or null");if(!j.validatePattern(this.loginProviderId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("loginProviderId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new F(t,"no such property exists"):new F("isServiceProviderEnabled","undefined or null"):new F("isUserLoggedIn","undefined or null")}}function $d(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wd.prototype.clientId=void 0,wd.prototype.responseType=void 0,wd.prototype.scope=void 0,wd.prototype.redirectUri=void 0,wd.prototype.nonce=void 0,wd.prototype.state=void 0,wd.prototype.audience=void 0,wd.prototype.approvalPrompt=void 0,wd.prototype.loginProviderId=void 0,wd.prototype.isUserLoggedIn=void 0,wd.prototype.isServiceProviderEnabled=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var fd=new WeakSet;class bd{constructor(e,t,n,i,s,r,o,a,d,l){var u,h;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(u=this,h=fd),h.add(u),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bd,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(Eo.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(Wr.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:$d(fd,this,Td).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!j.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new F("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!j.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!j.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Td(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}bd.prototype.secretAccessKey=void 0,bd.prototype.emailId=void 0,bd.prototype.userId=void 0,bd.prototype.userType=void 0,bd.prototype.tenantId=void 0,bd.prototype.idpId=void 0,bd.prototype.username=void 0,bd.prototype.creationType=void 0,bd.prototype.customClaims=void 0,bd.prototype.assignedTo=void 0,bd.prototype.$reserved=void 0,bd.prototype.$objectType=void 0,bd.prototype.$unknownFields=void 0;var kd=new WeakSet;class jd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=kd),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jd,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("accessKey","undefined or null")}}jd.prototype.accessKey=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;const Fd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Fd).find(t=>Fd[t]===e);return null==t?Fd.$UNKNOWN:Fd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Fd.$UNKNOWN:case Fd.$REDACTED:case Fd.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(Fd);const Od=Fd;var Ed=new WeakSet;class Cd{constructor(e,t,n,i,s,r,o){(function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)})(this,Ed),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cd,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(Ia.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(Od.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(cd.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("e","undefined or null"):new F("n","undefined or null"):new F("x5c","undefined or null"):new F("kid","undefined or null"):new F("kty","undefined or null"):new F("use","undefined or null"):new F("alg","undefined or null")}}Cd.prototype.alg=void 0,Cd.prototype.use=void 0,Cd.prototype.kty=void 0,Cd.prototype.kid=void 0,Cd.prototype.x5c=void 0,Cd.prototype.n=void 0,Cd.prototype.e=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;const Ud={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ud).find(t=>Ud[t]===e);return null==t?Ud.$UNKNOWN:Ud[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ud.$UNKNOWN:case Ud.$REDACTED:case Ud.LOCAL:case Ud.LDAP:case Ud.SAML:case Ud.CERT:case Ud.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(Ud);const Pd=Ud;var Ad=new WeakSet;class Id extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ad),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Id,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function Dd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Id.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Nd=new WeakSet;class Rd extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Nd),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Rd,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(Pd.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=dd.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(Id.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(co.constructFromObject(e.status)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Dd(Nd,this,Sd).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new F("iss","undefined or null");if(!j.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new F("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new F("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new F("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new F("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!j.validateMaxLength(this.email,255))return new F("email","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new F("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!j.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!j.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new F("connectorId","undefined or null");if(!j.validatePattern(this.connectorId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("connectorId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!j.validateMaxItems(this.groups,25))return new F("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new F("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new F("legacyRoles","undefined or null");if(!j.validateMaxItems(this.legacyRoles,5))return new F("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!j.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!j.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!j.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"locale"!==t||void 0!==this.locale&&null!==this.locale?"region"!==t||void 0!==this.region&&null!==this.region?"status"!==t||void 0!==this.status&&null!==this.status?new F(t,"no such property exists"):new F("status","undefined or null"):new F("region","undefined or null"):new F("locale","undefined or null")}}function Sd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Rd.prototype.iss=void 0,Rd.prototype.sub=void 0,Rd.prototype.subType=void 0,Rd.prototype.exp=void 0,Rd.prototype.iat=void 0,Rd.prototype.email=void 0,Rd.prototype.isEmailVerified=void 0,Rd.prototype.name=void 0,Rd.prototype.userId=void 0,Rd.prototype.connectorId=void 0,Rd.prototype.groups=void 0,Rd.prototype.tenant=void 0,Rd.prototype.customClaims=void 0,Rd.prototype.legacyRoles=void 0,Rd.prototype.firstName=void 0,Rd.prototype.middleInitial=void 0,Rd.prototype.lastName=void 0,Rd.prototype.locale=void 0,Rd.prototype.region=void 0,Rd.prototype.status=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ld={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ld).find(t=>Ld[t]===e);return null==t?Ld.$UNKNOWN:Ld[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ld.$UNKNOWN:case Ld.$REDACTED:case Ld.OPENID:case Ld.PROFILE:case Ld.EMAIL:case Ld.GROUPS:case Ld.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze(Ld);const Md=Ld,xd={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(xd).find(t=>xd[t]===e);return null==t?xd.$UNKNOWN:xd[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case xd.$UNKNOWN:case xd.$REDACTED:case xd.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(xd);const Jd=xd,_d={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(_d).find(t=>_d[t]===e);return null==t?_d.$UNKNOWN:_d[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case _d.$UNKNOWN:case _d.$REDACTED:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case _d.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(_d);const Kd=_d;function Wd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var qd=new WeakSet;class Bd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=qd),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Bd,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wd(qd,this,zd).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new F("nameValuePair","undefined or null");if(!j.validateMaxItems(this.nameValuePair,10))return new F("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null")}}function zd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bd.prototype.nameValuePair=void 0,Bd.prototype.lastUpdatedTime=void 0,Bd.prototype.$reserved=void 0,Bd.prototype.$objectType=void 0,Bd.prototype.$unknownFields=void 0;var Gd=new WeakSet;class Vd{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Gd),s.add(i),this.grantType=e,this.scope=t,this.clientId=n,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vd,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(od.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(Kd.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["grantType","scope","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new F("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new F("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!j.validateMaxLength(this.scope,100))return new F("scope","does not satisfy required maxLength constraint: 100");if(!j.validateMinLength(this.scope,1))return new F("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new F("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new F("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new F("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new F("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!j.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nonTenantIssuer","undefined or null"):new F("subjectTokenType","undefined or null"):new F("subjectToken","undefined or null"):new F("audience","undefined or null")}}Vd.prototype.grantType=void 0,Vd.prototype.code=void 0,Vd.prototype.connectorId=void 0,Vd.prototype.scope=void 0,Vd.prototype.refreshToken=void 0,Vd.prototype.clientId=void 0,Vd.prototype.clientAssertionType=void 0,Vd.prototype.clientAssertion=void 0,Vd.prototype.redirectUri=void 0,Vd.prototype.audience=void 0,Vd.prototype.subjectToken=void 0,Vd.prototype.subjectTokenType=void 0,Vd.prototype.nonTenantIssuer=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;var Hd=new WeakSet;class Xd{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Hd),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xd,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!j.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new F("password","undefined or null");if(!j.validateMaxLength(this.password,255))return new F("password","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.password,1))return new F("password","does not satisfy required minLength constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Xd.prototype.username=void 0,Xd.prototype.password=void 0,Xd.prototype.$reserved=void 0,Xd.prototype.$objectType=void 0,Xd.prototype.$unknownFields=void 0;var Zd=new WeakSet;class Qd extends Dn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zd),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qd,Dn.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Yd(Zd,this,el).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Yd(Zd,this,el).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("opaquedata","undefined or null")}}function el(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Qd.prototype.opaquedata=void 0,Qd.prototype.isInternal=!1,Dn.prototype.identities=void 0,Dn.prototype.createdTime=void 0,Dn.prototype.lastUpdatedTime=void 0,Dn.prototype.createdBy=void 0,Dn.prototype.isSystemDefined=!0,Dn.prototype.authorizationPolicyType=void 0,Dn.prototype.assignedUsersCount=void 0,Dn.prototype.assignedUserGroupsCount=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const tl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(tl).find(t=>tl[t]===e);return null==t?tl.$UNKNOWN:tl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case tl.$UNKNOWN:case tl.$REDACTED:case tl.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(tl);const nl=tl;var il=new WeakSet;class sl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=il),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new sl,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(nl.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("identityType","undefined or null")}}sl.prototype.identityType=void 0,sl.prototype.attributes=void 0,sl.prototype.$reserved=void 0,sl.prototype.$objectType=void 0,sl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=rl),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ol,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("operation","undefined or null"):new F("type","undefined or null")}}ol.prototype.type=void 0,ol.prototype.operation=void 0,ol.prototype.attributes=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;const al={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(al).find(t=>al[t]===e);return null==t?al.$UNKNOWN:al[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case al.$UNKNOWN:case al.$REDACTED:case al.BOOLEANRESPONSE:case al.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(al);const dl=al;var ll=new WeakSet;class ul{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=ll),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ul,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(ol.constructFromObject(e.entity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entity","undefined or null"):new F("responseType","undefined or null"):new F("requestID","undefined or null")}}ul.prototype.requestID=void 0,ul.prototype.responseType=void 0,ul.prototype.entity=void 0,ul.prototype.$reserved=void 0,ul.prototype.$objectType=void 0,ul.prototype.$unknownFields=void 0;var hl=new WeakSet;class cl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=hl),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cl,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(sl.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=ul.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new F("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new F("requestList","undefined or null");if(!j.validateMaxItems(this.requestList,25))return new F("requestList","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.requestList,1))return new F("requestList","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cl.prototype.identity=void 0,cl.prototype.requestList=void 0,cl.prototype.$reserved=void 0,cl.prototype.$objectType=void 0,cl.prototype.$unknownFields=void 0;var pl=new WeakSet;class yl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=pl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yl,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(dl.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("filters","undefined or null"):new F("authorized","undefined or null"):new F("responseType","undefined or null"):new F("requestId","undefined or null")}}yl.prototype.requestId=void 0,yl.prototype.responseType=void 0,yl.prototype.authorized=void 0,yl.prototype.filters=void 0,yl.prototype.$reserved=void 0,yl.prototype.$objectType=void 0,yl.prototype.$unknownFields=void 0;var gl=new WeakSet;class vl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gl),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new vl,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=yl.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new F("response","undefined or null");if(!j.validateMaxItems(this.response,25))return new F("response","does not satisfy required maxItems constraint: 25");if(!j.validateMinItems(this.response,1))return new F("response","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}vl.prototype.response=void 0,vl.prototype.$reserved=void 0,vl.prototype.$objectType=void 0,vl.prototype.$unknownFields=void 0;const ml={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ml).find(t=>ml[t]===e);return null==t?ml.$UNKNOWN:ml[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ml.$UNKNOWN:case ml.$REDACTED:case ml.REMOVE_AP_TENANT_ID_FILTERS:case ml.NC_USER_AP_TO_USER_DEFINED:case ml.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case ml.REMOVE_CLIENT_FOUNDATION_CENTRAL:case ml.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case ml.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION }")}}};Object.freeze(ml);const wl=ml;var $l=new WeakSet;class fl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=$l),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fl,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(wl.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}fl.prototype.migrationType=void 0,fl.prototype.$reserved=void 0,fl.prototype.$objectType=void 0,fl.prototype.$unknownFields=void 0;class bl extends qn{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bl,qn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tl=new WeakSet;class kl extends Cn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tl),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new kl,Cn.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(bl.constructFromObject(e.baseRoleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new F(t,"no such property exists"):new F("baseRoleProjection","undefined or null")}}function jl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}kl.prototype.baseRoleProjection=void 0,Cn.prototype.displayName=void 0,Cn.prototype.description=void 0,Cn.prototype.clientName=void 0,Cn.prototype.entities=void 0,Cn.prototype.role=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Fl=new WeakSet;class Ol extends vi{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Fl),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ol,vi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:jl(Fl,this,El).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:jl(Fl,this,El).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new F(t,"no such property exists"):new F("legacyClientName","undefined or null")}}function El(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Ol.prototype.legacyClientName=void 0,vi.prototype.name=void 0,vi.prototype.description=void 0,vi.prototype.displayName=void 0,vi.prototype.createdTime=void 0,vi.prototype.lastUpdatedTime=void 0,vi.prototype.createdBy=void 0,vi.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Cl=new WeakSet;class Ul{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Ul,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new F("addedObjects","undefined or null");if(!j.validateMaxItems(this.addedObjects,20))return new F("addedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedObjects,1))return new F("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new F("removedObjects","undefined or null");if(!j.validateMaxItems(this.removedObjects,20))return new F("removedObjects","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedObjects,1))return new F("removedObjects","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ul.prototype.addedObjects=void 0,Ul.prototype.removedObjects=void 0,Ul.prototype.$reserved=void 0,Ul.prototype.$objectType=void 0,Ul.prototype.$unknownFields=void 0;var Pl=new WeakSet;class Al{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Al,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new F("addedOperations","undefined or null");if(!j.validateMaxItems(this.addedOperations,20))return new F("addedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.addedOperations,1))return new F("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new F("removedOperations","undefined or null");if(!j.validateMaxItems(this.removedOperations,20))return new F("removedOperations","does not satisfy required maxItems constraint: 20");if(!j.validateMinItems(this.removedOperations,1))return new F("removedOperations","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Al.prototype.addedOperations=void 0,Al.prototype.removedOperations=void 0,Al.prototype.$reserved=void 0,Al.prototype.$objectType=void 0,Al.prototype.$unknownFields=void 0;var Il=new WeakSet;class Dl{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Il),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Dl,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new F("newDisplayName","undefined or null");if(!j.validateMaxLength(this.newDisplayName,255))return new F("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new F("previousDisplayName","undefined or null");if(!j.validateMaxLength(this.previousDisplayName,255))return new F("previousDisplayName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Dl.prototype.newDisplayName=void 0,Dl.prototype.previousDisplayName=void 0,Dl.prototype.$reserved=void 0,Dl.prototype.$objectType=void 0,Dl.prototype.$unknownFields=void 0;var Nl=new WeakSet;class Rl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Nl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Rl,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(Dl.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(Ul.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset(Al.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset(Al.constructFromObject(e.legacyParentOperationListChangeset)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("legacyParentOperationListChangeset","undefined or null"):new F("legacyOperationListChangeset","undefined or null"):new F("legacyObjectListChangeset","undefined or null"):new F("displayNameChangeset","undefined or null")}}Rl.prototype.displayNameChangeset=void 0,Rl.prototype.legacyObjectListChangeset=void 0,Rl.prototype.legacyOperationListChangeset=void 0,Rl.prototype.legacyParentOperationListChangeset=void 0,Rl.prototype.$reserved=void 0,Rl.prototype.$objectType=void 0,Rl.prototype.$unknownFields=void 0;const Sl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Sl).find(t=>Sl[t]===e);return null==t?Sl.$UNKNOWN:Sl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Sl.$UNKNOWN:case Sl.$REDACTED:case Sl.OPERATION:case Sl.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(Sl);const Ll=Sl;function Ml(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var xl=new WeakSet;class Jl extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xl),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Jl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(Ll.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Rl.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ml(xl,this,_l).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ml(xl,this,_l).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!j.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!j.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("changeset","undefined or null"):new F("configType","undefined or null")}}function _l(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Jl.prototype.displayName=void 0,Jl.prototype.clientName=void 0,Jl.prototype.configType=void 0,Jl.prototype.changeset=void 0,Jl.prototype.createdTime=void 0,Jl.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class Kl extends Jl{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Kl,Jl.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Wl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ql=new WeakSet;class Bl extends Ci{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ql),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Bl,Ci.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Wl(ql,this,zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Wl(ql,this,zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyObjectList","undefined or null")}}function zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bl.prototype.legacyObjectList=void 0,Bl.prototype.isInternal=void 0,Ci.prototype.name=void 0,Ci.prototype.description=void 0,Ci.prototype.displayName=void 0,Ci.prototype.clientName=void 0,Ci.prototype.searchURL=void 0,Ci.prototype.createdTime=void 0,Ci.prototype.lastUpdatedTime=void 0,Ci.prototype.createdBy=void 0,Ci.prototype.attributeList=void 0,Ci.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var Gl=new WeakSet;class Vl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Gl),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vl,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("shouldIncludeRelatedOperations","undefined or null")}}function Hl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vl.prototype.shouldIncludeRelatedOperations=void 0,Vl.prototype.$reserved=void 0,Vl.prototype.$objectType=void 0,Vl.prototype.$unknownFields=void 0;var Xl=new WeakSet;class Yl extends os{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Xl),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Yl,os.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Hl(Xl,this,Zl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Hl(Xl,this,Zl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new F(t,"no such property exists"):new F("legacyParentOperationList","undefined or null"):new F("legacyOperationList","undefined or null"):new F("isInternal","undefined or null")}}function Zl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ql(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yl.prototype.isInternal=void 0,Yl.prototype.legacyOperationList=void 0,Yl.prototype.legacyParentOperationList=void 0,os.prototype.displayName=void 0,os.prototype.description=void 0,os.prototype.entityType=void 0,os.prototype.clientName=void 0,os.prototype.createdTime=void 0,os.prototype.lastUpdatedTime=void 0,os.prototype.operationType=void 0,os.prototype.relatedOperationList=void 0,os.prototype.associatedEndpointList=void 0,os.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var eu=new WeakSet;class tu extends Hn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=eu),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tu,Hn.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ql(eu,this,nu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ql(eu,this,nu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyRole","undefined or null")}}function nu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}tu.prototype.legacyRole=void 0,tu.prototype.isInternal=void 0,Hn.prototype.description=void 0,Hn.prototype.operations=void 0,Hn.prototype.accessibleClients=void 0,Hn.prototype.accessibleEntityTypes=void 0,Hn.prototype.accessibleClientsCount=void 0,Hn.prototype.accessibleEntityTypesCount=void 0,Hn.prototype.assignedUsersCount=void 0,Hn.prototype.assignedUserGroupsCount=void 0,Hn.prototype.createdTime=void 0,Hn.prototype.lastUpdatedTime=void 0,Hn.prototype.createdBy=void 0,Hn.prototype.isSystemDefined=!0,Hn.prototype.operationSchemaChangeImpact=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;var iu=new WeakSet;class su{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=iu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new su,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Qd.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new F("authorizationPolicies","undefined or null");if(!j.validateMaxItems(this.authorizationPolicies,50))return new F("authorizationPolicies","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}su.prototype.authorizationPolicies=void 0,su.prototype.$reserved=void 0,su.prototype.$objectType=void 0,su.prototype.$unknownFields=void 0;var ru=new WeakSet;class ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ru),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ou,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Bl.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!j.validateMaxItems(this.entities,200))return new F("entities","does not satisfy required maxItems constraint: 200")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ou.prototype.entities=void 0,ou.prototype.$reserved=void 0,ou.prototype.$objectType=void 0,ou.prototype.$unknownFields=void 0;var au=new WeakSet;class du{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=au),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new du,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Yl.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,500))return new F("operations","does not satisfy required maxItems constraint: 500")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}du.prototype.operations=void 0,du.prototype.$reserved=void 0,du.prototype.$objectType=void 0,du.prototype.$unknownFields=void 0;const lu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(lu).find(t=>lu[t]===e);return null==t?lu.$UNKNOWN:lu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case lu.$UNKNOWN:case lu.$REDACTED:case lu.CREATE:case lu.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(lu);const uu=lu;var hu=new WeakSet;class cu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=hu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new cu,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=tu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new F("roles","undefined or null");if(!j.validateMaxItems(this.roles,50))return new F("roles","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}cu.prototype.roles=void 0,cu.prototype.$reserved=void 0,cu.prototype.$objectType=void 0,cu.prototype.$unknownFields=void 0;const pu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(pu).find(t=>pu[t]===e);return null==t?pu.$UNKNOWN:pu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pu.$UNKNOWN:case pu.$REDACTED:case pu.CLIENT:case pu.ENTITY:case pu.OPERATION:case pu.ROLE:case pu.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(pu);const yu=pu;function gu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var vu=new WeakSet;class mu{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=vu),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mu,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(yu.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(uu.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(Ol.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(ou.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(du.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(cu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(su.constructFromObject(e.configList,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):gu(vu,this,wu).call(this,this.getConfigList(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):gu(vu,this,wu).call(this,this.getConfigList())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new F("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!j.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!j.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("configList","undefined or null"):new F("operationType","undefined or null")}}function wu(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}mu.prototype.configType=void 0,mu.prototype.tenantId=void 0,mu.prototype.clientName=void 0,mu.prototype.operationType=void 0,mu.prototype.configList=void 0,mu.prototype.$reserved=void 0,mu.prototype.$objectType=void 0,mu.prototype.$unknownFields=void 0;var $u=new WeakSet;class fu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$u),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}fu.prototype.tenantName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class bu extends Cn{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new bu,Cn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Tu=new WeakSet;class ku extends qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Tu),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ku,qn.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!j.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!j.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}ku.prototype.operations=void 0,qn.prototype.displayName=void 0,qn.prototype.clientName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;class ju extends ku{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ju,ku.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var Fu=new WeakSet;class Ou{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fu),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ou,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}function Eu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ou.prototype.message=void 0,Ou.prototype.$reserved=void 0,Ou.prototype.$objectType=void 0,Ou.prototype.$unknownFields=void 0;var Cu=new WeakSet;class Uu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cu),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Uu,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Ou.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Eu(Cu,this,Pu).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new F("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new F("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new F("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new F("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new F("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new F("validationErrorMessages","undefined or null");if(!j.validateMaxItems(this.validationErrorMessages,20))return new F("validationErrorMessages","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Pu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Uu.prototype.code=void 0,Uu.prototype.error=void 0,Uu.prototype.errorGroup=void 0,Uu.prototype.path=void 0,Uu.prototype.statusCode=void 0,Uu.prototype.timestamp=void 0,Uu.prototype.validationErrorMessages=void 0,Uu.prototype.$reserved=void 0,Uu.prototype.$objectType=void 0,Uu.prototype.$unknownFields=void 0;var Au=new WeakSet;class Iu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Au),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Iu,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(Uu.constructFromObject(e.error)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}Iu.prototype.error=void 0,Iu.prototype.$reserved=void 0,Iu.prototype.$objectType=void 0,Iu.prototype.$unknownFields=void 0;var Du=new WeakSet;class Nu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Du),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(Iu.constructFromObject(e.data)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new F(t,"no such property exists"):new F("data","undefined or null")}}Nu.prototype.data=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const Ru={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ru).find(t=>Ru[t]===e);return null==t?Ru.$UNKNOWN:Ru[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ru.$UNKNOWN:case Ru.$REDACTED:case Ru.ASC:case Ru.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Ru);const Su=Ru;var Lu=new WeakSet;class Mu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Lu),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof k?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!j.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!j.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new F(t,"no such property exists"):new F("tenantDescription","undefined or null")}}Mu.prototype.tenantName=void 0,Mu.prototype.tenantDescription=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,Ve.prototype.tenantId=void 0;const xu={ApiClient:de,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},u={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId},h=mt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","POST",{},{},l,u,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],h)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Be;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=pt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=rt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let u={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(u[e]=d[e])});const h={...u},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId},p=lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/cert-auth-providers/{extId}","PUT",l,{},h,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Tn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=gn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=$n;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Wt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dn;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Jt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Qt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Lt;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Dn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ci;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=_n;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ln;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Dn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=di;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=fi;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Si;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ii;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zi;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ys;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=us;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Hn&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ts;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ws;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Os;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ps;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Hn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ns;return this.apiClient.callApi("/api/iam/v4.1.b2/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof zs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=sr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=dr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=er;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=vr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Ms;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=cr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof zs&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Xs;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Tr&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Nr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Or;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Mr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Pr;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof aa&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ma;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Po&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Zr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=Ko;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=ea;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=io;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=No;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Xo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof pa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=lo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Mo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Po&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=zo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof yo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};de.addEtagReferenceToHeader(t,a);const d=wo;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return de}constructor(e){this.apiClient=e||de.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Fa;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ba&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};de.addEtagReferenceToHeader(e,r);const o=Ua;return this.apiClient.callApi("/api/iam/v4.1.b2/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:E,KVPair:N,MapOfStringWrapper:P,Message:x,MessageSeverity:L,TenantAwareModel:Ve,ApiLink:_,ApiResponseMetadata:q,ExternalizableAbstractModel:Xe,ActivateUserApiResponse:wo,AlgoType:Ia,ApiKeyDetails:_r,AuthMethodType:Na,AuthenticationResponse:Sa,AuthnMigrationRequest:Ja,AuthnMigrationType:Ma,BucketsAccessKey:jo,BucketsAccessKeyStatusType:bo,CertAuthProvider:tt,CertRevocationInfo:Ze,CertificateLoginRequest:Ka,ChangeUserPasswordApiResponse:ma,ClaimsType:qa,ConnectionDirectoryServiceApiResponse:gn,CreateCertAuthProviderApiResponse:mt,CreateDirectoryServiceApiResponse:$n,CreateKeyApiResponse:Ko,CreateSamlIdentityProviderApiResponse:sr,CreateUserApiResponse:ua,CreateUserGroupApiResponse:Nr,CreationType:Wr,DeleteCertAuthProviderApiResponse:Be,DeleteDirectoryServiceApiResponse:Wt,DeleteSamlIdentityProviderApiResponse:dr,DeleteUserGroupApiResponse:Or,DeleteUserKeyApiResponse:ea,DirectoryService:Dt,DirectoryServiceConnectionRequest:Tn,DirectoryServiceConnectionResponse:cn,DirectoryServiceInfo:Xa,DirectoryServiceInfoGroup:za,DirectoryServiceInfoOu:Va,DirectoryServiceSearchAttribute:zt,DirectoryServiceSearchEntity:Vt,DirectoryServiceSearchQuery:Jt,DirectoryServiceSearchResult:Xt,DirectoryType:ft,DiscoverySubjectType:Za,DsServiceAccount:Tt,Federation:id,FederationClaims:ed,GetCertAuthProviderApiResponse:pt,GetDirectoryServiceApiResponse:sn,GetSamlIdentityProviderApiResponse:er,GetSamlIdpSpMetadataApiResponse:vr,GetSamlSpMetadataApiResponse:Ms,GetUserApiResponse:sa,GetUserGroupApiResponse:Mr,GetUserKeyApiResponse:io,GetWelcomeBannerApiResponse:Fa,GrantType:od,Group:dd,GroupSearchType:jt,GroupType:$r,IdpMetadata:Ws,IdpType:xi,Key:Zr,KeyKind:Br,KeyMigrationSpec:ud,KeyStatus:Gr,KeyType:cd,ListCertAuthProvidersApiResponse:rt,ListDirectoryServicesApiResponse:dn,ListLoginProvidersApiResponse:zi,ListSamlIdentityProvidersApiResponse:cr,ListUserGroupsApiResponse:Pr,ListUserKeysApiResponse:No,ListUsersApiResponse:Xo,LoginProvider:Ki,LoginRequest:wd,NameIdPolicyFormat:_s,ObjectKeyDetails:Hr,ObjectsAuthDetails:bd,ObjectsAuthSpec:jd,OidcKey:Cd,OidcSubjectType:Pd,OidcUserinfo:Rd,OpenLdapConfig:Pt,PasswordChangeRequest:aa,PasswordChangeResponse:ya,PasswordResetRequest:pa,PasswordResetResponse:ro,ResetUserPasswordApiResponse:lo,AuthnResponseType:yd,RevokeUserKeyApiResponse:Mo,SamlIdentityProvider:zs,Scope:vd,ScopesType:Md,SearchDirectoryServiceApiResponse:Qt,SigningAlgoType:Jd,SubjectType:Kd,SystemConfig:Bd,AuthnTenant:Id,TokenRequest:Vd,UpdateCertAuthProviderApiResponse:lt,UpdateDirectoryServiceApiResponse:Lt,UpdateSamlIdentityProviderApiResponse:Xs,UpdateUserApiResponse:zo,UpdateWelcomeBannerApiResponse:Ua,UseType:Od,User:Po,UserConfiguration:Ot,UserGroup:Tr,UserGroupConfiguration:Ct,UserStateUpdate:yo,UserStateUpdateResponse:go,UserStatusType:co,UserType:Eo,ValidateCredentialsRequest:Xd,WelcomeBanner:ba,ApiVersion:Hi,AssociatedEndpoint:Qi,AttributeEntity:Fi,AuthorizationPolicy:Dn,AuthorizationPolicyConfig:Qd,AuthorizationPolicyProjection:ei,AuthorizationPolicyType:jn,AuthorizationRequest:cl,AuthorizationResponse:vl,AuthorizationResponseObject:yl,AuthorizeEntity:ol,AuthzMigrationRequest:fl,AuthzMigrationType:wl,BaseAuthorizationPolicy:Cn,BaseAuthorizationPolicyProjection:kl,BaseRole:qn,BaseRoleProjection:bl,Client:vi,ClientConfig:Ol,ConfigChangeset:Jl,ConfigChangesetData:Rl,ConfigChangesetDataObjects:Ul,ConfigChangesetDataOperations:Al,ConfigChangesetDisplayName:Dl,ConfigChangesetProjection:Kl,ConfigType:Ll,CreateAuthorizationPolicyApiResponse:ci,CreateRoleApiResponse:Ts,DeleteAuthorizationPolicyApiResponse:_n,DeleteRoleApiResponse:ws,Entity:Ci,EntityConfig:Bl,EntityFilter:On,EntityOperators:ki,GetAuthorizationPolicyApiResponse:Ln,GetClientApiResponse:fi,GetEntityApiResponse:Si,GetOperationApiResponse:ys,GetRoleApiResponse:Os,HttpMethod:Yi,IdentityFilter:Pn,IdentityObject:sl,IdentityType:nl,ListAuthorizationPoliciesApiResponse:si,ListEntitiesApiResponse:Ii,ListOperationsApiResponse:us,ListRolesApiResponse:Ps,MigrateRoleSpec:Vl,MigrationActionNotes:ts,Operation:os,OperationConfig:Yl,OperationSchemaChangeImpact:zn,OperationType:is,RequestObject:ul,AuthzResponseType:dl,Role:Hn,RoleConfig:tu,RoleProjection:Yn,SeedConfigAuthorizationPolicyList:su,SeedConfigEntityList:ou,SeedConfigOperationList:du,SeedConfigOperationType:uu,SeedConfigRequest:mu,SeedConfigRoleList:cu,SeedConfigType:yu,AuthzTenant:fu,UpdateAuthorizationPolicyApiResponse:di,UpdateRoleApiResponse:Ns,UserAuthorizationPolicy:bu,UserRole:ku,UserRoleProjection:ju,ActionBaseResponse:hn,CommonSchemaValidationError:Iu,CommonSchemaValidationErrorMessage:Uu,SchemaValidationErrorResponse:Nu,SortOrderType:Su,ValidationErrorMessage:Ou,AppMessage:Ae,ErrorResponse:_e,ErrorSchemaValidationError:Le,ErrorSchemaValidationErrorMessage:Ne,TenantTenant:Mu}})(),i.default})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Iam=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<i.length;s++)if((n=i[s])===t||n.fn===t){i.splice(s,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var s=(n=n.slice(0)).length;i<s;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},340(e){e.exports=o,o.default=o,o.stable=h,o.stableStringify=h;var t="[...]",n="[Circular]",i=[],s=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function o(e,t,n,o){var a;void 0===o&&(o=r()),d(e,"",0,[],void 0,0,o);try{a=0===s.length?JSON.stringify(e,t,n):JSON.stringify(e,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function a(e,t,n,r){var o=Object.getOwnPropertyDescriptor(r,n);void 0!==o.get?o.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,o])):s.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function d(e,i,s,r,o,l,h){var u;if(l+=1,"object"==typeof e&&null!==e){for(u=0;u<r.length;u++)if(r[u]===e)return void a(n,e,i,o);if(void 0!==h.depthLimit&&l>h.depthLimit)return void a(t,e,i,o);if(void 0!==h.edgesLimit&&s+1>h.edgesLimit)return void a(t,e,i,o);if(r.push(e),Array.isArray(e))for(u=0;u<e.length;u++)d(e[u],u,u,r,e,l,h);else{var c=Object.keys(e);for(u=0;u<c.length;u++){var p=c[u];d(e[p],p,u,r,e,l,h)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function h(e,t,n,o){void 0===o&&(o=r());var a,d=u(e,"",0,[],void 0,0,o)||e;try{a=0===s.length?JSON.stringify(d,t,n):JSON.stringify(d,c(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return a}function u(e,s,r,o,d,h,c){var p;if(h+=1,"object"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,s,d);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==c.depthLimit&&h>c.depthLimit)return void a(t,e,s,d);if(void 0!==c.edgesLimit&&r+1>c.edgesLimit)return void a(t,e,s,d);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)u(e[p],p,p,o,e,h,c);else{var y={},g=Object.keys(e).sort(l);for(p=0;p<g.length;p++){var v=g[p];u(e[v],v,p,o,e,h,c),y[v]=e[v]}if(void 0===d)return y;i.push([d,s,e]),d[s]=y}o.pop()}}function c(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(s.length>0)for(var i=0;i<s.length;i++){var r=s[i];if(r[1]===t&&r[0]===n){n=r[2],s.splice(i,1);break}}return e.call(this,t,n)}}},784(e,t,n){"use strict";var i="win32"===process.platform,s=n(818);function r(e,t){for(var n=[],i=0;i<e.length;i++){var s=e[i];s&&"."!==s&&(".."===s?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(s))}return n}function o(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,d=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function h(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",s=d.exec(i);return[n,s[1],s[2],s[3]]}function u(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function c(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var o;if(i>=0?o=arguments[i]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!s.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=u(o),d=a.device,l=a.isUnc,h=a.isAbsolute,p=a.tail;if((!d||!e||d.toLowerCase()===e.toLowerCase())&&(e||(e=d),n||(t=p+"\\"+t,n=h),e&&n))break}}return l&&(e=c(e)),e+(n?"\\":"")+(t=r(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=u(e),n=t.device,i=t.isUnc,s=t.isAbsolute,o=t.tail,a=/[\\\/]$/.test(o);return(o=r(o.split(/[\\\/]+/),!s).join("\\"))||s||(o="."),o&&a&&(o+="\\"),i&&(n=c(n)),n+(s?"\\":"")+o},l.isAbsolute=function(e){return u(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),l.normalize(i)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),s=o(t.split("\\")),r=o(n.split("\\")),a=o(i.split("\\")),d=Math.min(r.length,a.length),h=d,u=0;u<d;u++)if(r[u]!==a[u]){h=u;break}if(0==h)return t;var c=[];for(u=h;u<r.length;u++)c.push("..");return(c=c.concat(s.slice(h))).join("\\")},l._makeLong=function(e){if(!s.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=h(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},l.basename=function(e,t){var n=h(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return h(e)[3]},l.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===l.sep?n+i:n+l.sep+i:i},l.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=h(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y={};function g(e){return p.exec(e).slice(1)}y.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!s.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=r(e.split("/"),!t).join("/"))||"."},y.normalize=function(e){var t=y.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=r(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},y.isAbsolute=function(e){return"/"===e.charAt(0)},y.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!s.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return y.normalize(e)},y.relative=function(e,t){e=y.resolve(e).substr(1),t=y.resolve(t).substr(1);for(var n=o(e.split("/")),i=o(t.split("/")),s=Math.min(n.length,i.length),r=s,a=0;a<s;a++)if(n[a]!==i[a]){r=a;break}var d=[];for(a=r;a<n.length;a++)d.push("..");return(d=d.concat(i.slice(r))).join("/")},y._makeLong=function(e){return e},y.dirname=function(e){var t=g(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},y.basename=function(e,t){var n=g(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},y.extname=function(e){return g(e)[3]},y.format=function(e){if(!s.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!s.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+y.sep:"")+(e.base||"")},y.parse=function(e){if(!s.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=g(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},y.sep="/",y.delimiter=":",e.exports=i?l:y,e.exports.posix=y,e.exports.win32=l},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const s=t.length,r=e-s;if(0!==r){if(r<0)throw new Error("Cannot have more delays than retries");{const e=t[s-1];for(let n=0;n<r+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s;"undefined"!=typeof window?s=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),s=void 0):s=self;var r=n(960),o=n(340),a=n(695),d=n(388),l=n(19),h=n(619);function u(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var c=t=e.exports;t.Request=w,c.getXHR=function(){if(s.XMLHttpRequest&&(!s.location||"file:"!==s.location.protocol||!s.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!d(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){g(e,t,n)});else if(d(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&g(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){for(var t,n,i={},s=e.split("&"),r=0,o=s.length;r<o;++r)-1===(n=(t=s[r]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function m(e){return/[/+]json($|[^-\w])/.test(e)}function $(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,s,r=e.split(/\r?\n/),o={},a=0,d=r.length;a<d;++a)-1!==(t=(n=r[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),s=p(n.slice(t+1)),o[i]=s);return o}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function w(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new $(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function f(e,t,n){var i=c("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}c.serializeObject=y,c.parseString=v,c.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},c.serialize={"application/x-www-form-urlencoded":y,"application/json":o},c.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},l($.prototype),$.prototype._parseBody=function(e){var t=c.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&m(this.type)&&(t=c.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},$.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),s=new Error(i);return s.status=this.status,s.method=t,s.url=n,s},c.Response=$,r(w.prototype),a(w.prototype),w.prototype.type=function(e){return this.set("Content-Type",c.types[e]||e),this},w.prototype.accept=function(e){return this.set("Accept",c.types[e]||e),this},w.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},w.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},w.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},w.prototype._getFormData=function(){return this._formData||(this._formData=new s.FormData),this._formData},w.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},w.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},w.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||u,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},w.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=c.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var s=this._header["content-type"],r=this._serializer||c.serialize[s?s.split(";")[0]:""];!r&&m(s)&&(r=c.serialize["application/json"]),r&&(n=r(n))}for(var o in this.header)null!==this.header[o]&&Object.prototype.hasOwnProperty.call(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},c.agent=function(){return new h},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){h.prototype[e.toLowerCase()]=function(t,n){var i=new c.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),h.prototype.del=h.prototype.delete,c.get=function(e,t,n){var i=c("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.head=function(e,t,n){var i=c("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},c.options=function(e,t,n){var i=c("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.del=f,c.delete=f,c.patch=function(e,t,n){var i=c("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.post=function(e,t,n){var i=c("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},c.put=function(e,t,n){var i=c("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var s=n(388);function r(e){if(e)return function(e){for(var t in r.prototype)Object.prototype.hasOwnProperty.call(r.prototype,t)&&(e[t]=r.prototype[t]);return e}(e)}e.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},r.prototype.parse=function(e){return this._parser=e,this},r.prototype.responseType=function(e){return this._responseType=e,this},r.prototype.serialize=function(e){return this._serializer=e,this},r.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},r.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var o=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];r.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&o.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},r.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(s(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},r.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=s(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&s(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.warn("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},19(e,t,n){"use strict";var i=n(897);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.get=function(e){return this.header[e.toLowerCase()]},s.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(this[s]=n[s]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},s.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),s=n.shift();return i&&s&&(e[i]=s),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(o(arguments[n]));return t.join(" ")}n=1;for(var s=arguments,r=s.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(s[n++]);case"%d":return Number(s[n++]);case"%j":try{return JSON.stringify(s[n++])}catch(e){return"[Circular]"}default:return e}}),d=s[n];n<r;d=s[++n])y(d)||!w(d)?a+=" "+d:a+=" "+o(d);return a},t.deprecate=function(e,i){if(m(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var s=!1;return function(){if(!s){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),s=!0}return e.apply(this,arguments)}};var s,r={};function o(e,n){var i={seen:[],stylize:d};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),m(i.showHidden)&&(i.showHidden=!1),m(i.depth)&&(i.depth=2),m(i.colors)&&(i.colors=!1),m(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),l(i,e,i.depth)}function a(e,t){var n=o.styles[t];return n?"["+o.colors[n][0]+"m"+e+"["+o.colors[n][1]+"m":e}function d(e,t){return e}function l(e,n,i){if(e.customInspect&&n&&T(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var s=n.inspect(i,e);return v(s)||(s=l(e,s,i)),s}var r=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):y(t)?e.stylize("null","null"):void 0}(e,n);if(r)return r;var o=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),b(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(n);if(0===o.length){if(T(n)){var d=n.name?": "+n.name:"";return e.stylize("[Function"+d+"]","special")}if($(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(f(n))return e.stylize(Date.prototype.toString.call(n),"date");if(b(n))return h(n)}var w,j="",k=!1,F=["{","}"];return c(n)&&(k=!0,F=["[","]"]),T(n)&&(j=" [Function"+(n.name?": "+n.name:"")+"]"),$(n)&&(j=" "+RegExp.prototype.toString.call(n)),f(n)&&(j=" "+Date.prototype.toUTCString.call(n)),b(n)&&(j=" "+h(n)),0!==o.length||k&&0!=n.length?i<0?$(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=k?function(e,t,n,i,s){for(var r=[],o=0,a=t.length;o<a;++o)O(t,String(o))?r.push(u(e,t,n,i,String(o),!0)):r.push("");return s.forEach(function(s){s.match(/^\d+$/)||r.push(u(e,t,n,i,s,!0))}),r}(e,n,i,a,o):o.map(function(t){return u(e,n,i,a,t,k)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(w,j,F)):F[0]+j+F[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,n,i,s,r){var o,a,d;if((d=Object.getOwnPropertyDescriptor(t,s)||{value:t[s]}).get?a=d.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):d.set&&(a=e.stylize("[Setter]","special")),O(i,s)||(o="["+s+"]"),a||(e.seen.indexOf(d.value)<0?(a=y(n)?l(e,d.value,null):l(e,d.value,n-1)).indexOf("\n")>-1&&(a=r?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),m(o)){if(r&&s.match(/^\d+$/))return a;(o=JSON.stringify(""+s)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+a}function c(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function y(e){return null===e}function g(e){return"number"==typeof e}function v(e){return"string"==typeof e}function m(e){return void 0===e}function $(e){return w(e)&&"[object RegExp]"===j(e)}function w(e){return"object"==typeof e&&null!==e}function f(e){return w(e)&&"[object Date]"===j(e)}function b(e){return w(e)&&("[object Error]"===j(e)||e instanceof Error)}function T(e){return"function"==typeof e}function j(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(s)&&(s=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!r[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=process.pid;r[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else r[e]=function(){};return r[e]},t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=c,t.isBoolean=p,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=g,t.isString=v,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=m,t.isRegExp=$,t.isObject=w,t.isDate=f,t.isError=b,t.isFunction=T,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var F=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[k((e=new Date).getHours()),k(e.getMinutes()),k(e.getSeconds())].join(":"),[e.getDate(),F[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},548(){},799(){},545(){},965(){}};const t={};function n(i){const s=t[i];if(void 0!==s)return s.exports;const r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{if(Array.isArray(t))for(var i=0;i<t.length;){var s=t[i++],r=t[i++];n.o(e,s)?0===r&&i++:0===r?Object.defineProperty(e,s,{enumerable:!0,value:t[i++]}):Object.defineProperty(e,s,{enumerable:!0,get:r})}else for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let i={};return(()=>{"use strict";n.d(i,{default:()=>Ac});var e,t=n(585),s=n.n(t);class r{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new r,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=le.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}r.prototype.linkFirst=null,r.prototype.linkPrev=null,r.prototype.linkNext=null,r.prototype.linkLast=null,r.prototype.apiClient=null,r.prototype.page=null,r.prototype.resultsPerPage=null,r.prototype.resultsTotal=null;var o=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(o)}const d=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var l=[],h=0;h<256;++h)l.push((h+256).toString(16).substr(1));const u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&d.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},c=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=i[s];return t}return u(i)};var p=n(540),y=n.n(p),g=n(545),v=n.n(g),m=n(799),$=n.n(m),w=n(784),f=n.n(w),b=n(548);const T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const j=T;class k{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class F{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var O=new WeakSet;class E{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=O),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new E,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!k.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function I(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}E.prototype.name=void 0,E.prototype.value=!1,E.prototype.$reserved=void 0,E.prototype.$objectType=void 0,E.prototype.$unknownFields=void 0;var P=new WeakSet;class A{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=P),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new A,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:I(P,this,C).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:I(P,this,C).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("map","undefined or null")}}function C(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function D(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}A.prototype.map=void 0,A.prototype.$reserved=void 0,A.prototype.$objectType=void 0,A.prototype.$unknownFields=void 0;var U=new WeakSet;class N{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=U),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new N,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(o=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(a){case"string":case"integer":case"number":default:o.push(i[r]);break;case"common.v1.config.MapOfStringWrapper":s=A.constructFromObject(i[r],void 0),o.push(s)}t.setValue(o)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":default:t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):D(U,this,S).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):D(U,this,S).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,128))return new F("name","does not satisfy required maxLength constraint: 128");if(!k.validateMinLength(this.name,3))return new F("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("value","undefined or null")}}function S(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}N.prototype.name=void 0,N.prototype.value=void 0,N.prototype.$reserved=void 0,N.prototype.$objectType=void 0,N.prototype.$unknownFields=void 0;const R={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(R).find(t=>R[t]===e);return null==t?R.$UNKNOWN:R[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case R.$UNKNOWN:case R.$REDACTED:case R.INFO:case R.WARNING:case R.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(R);const x=R;var L=new WeakSet;class M{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=L),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new M,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(x.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("severity","undefined or null"):new F("locale","undefined or null"):new F("message","undefined or null"):new F("code","undefined or null")}}M.prototype.code=void 0,M.prototype.message=void 0,M.prototype.locale="en_US",M.prototype.severity=void 0,M.prototype.$reserved=void 0,M.prototype.$objectType=void 0,M.prototype.$unknownFields=void 0;var J=new WeakSet;class _{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=J),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("rel","undefined or null"):new F("href","undefined or null")}}_.prototype.href=void 0,_.prototype.rel=void 0,_.prototype.$reserved=void 0,_.prototype.$objectType=void 0,_.prototype.$unknownFields=void 0;var W,K=new WeakSet;class q{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=K),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new q,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(o=[],i=e.flags,r=0;r<i.length;r++)s=E.constructFromObject(i[r],void 0),o.push(s);t.setFlags(o)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(o=[],i=e.messages,r=0;r<i.length;r++)s=M.constructFromObject(i[r],void 0),o.push(s);t.setMessages(o)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(o=[],i=e.extraInfo,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setExtraInfo(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new F("flags","undefined or null");if(!k.validateMaxItems(this.flags,20))return new F("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!k.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new F("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new F("messages","undefined or null");if(!k.validateMaxItems(this.messages,20))return new F("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new F("extraInfo","undefined or null");if(!k.validateMaxItems(this.extraInfo,20))return new F("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function B(e,t,n){z(e,t),t.set(e,n)}function z(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function G(e,t){return e.get(H(e,t))}function V(e,t,n){return e.set(H(e,t),n),n}function H(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}q.prototype.flags=void 0,q.prototype.links=void 0,q.prototype.totalAvailableResults=void 0,q.prototype.messages=void 0,q.prototype.extraInfo=void 0,q.prototype.$reserved=void 0,q.prototype.$objectType=void 0,q.prototype.$unknownFields=void 0,y()(s());var Y=new WeakMap,X=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,se=new WeakMap,re=new WeakMap,oe=new WeakMap,ae=new WeakMap,de=new WeakSet;class le{constructor(){var e;z(this,e=de),e.add(this),B(this,Y,void 0),B(this,X,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,se,void 0),B(this,re,void 0),B(this,oe,void 0),B(this,ae,void 0),V(ae,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",V(se,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},V(te,this,3e4),V(ne,this,3e4),V(ie,this,108e5),this.readTimeout=G(ne,this),this.connectTimeout=G(te,this),this.cache=!0,V(X,this,null),V(Z,this,!0),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(s().agent)),this.requestAgent=null,V(oe,this,null),this.allowVersionNegotiation=!0,V(re,this,!1),this.debug=!1,V(Q,this,null),this._username=null,this._password=null,V(ee,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(v().Agent)({rejectUnauthorized:e}),V(ee,this,e)}get verifySsl(){return G(ee,this)}set host(e){e!==G(se,this)&&(V(se,this,e),V(re,this,!1),V(oe,this,null),V(X,this,null),V(Z,this,!0),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Hostname changed, clearing existing cookie if any"))}get host(){return G(se,this)}get username(){return this._username}set username(e){e!==this._username&&(this._username=e,V(X,this,null),V(Z,this,!0),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Username changed, clearing existing cookie if any"))}get password(){return this._password}set password(e){e!==this._password&&(this._password=e,V(X,this,null),V(Z,this,!0),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Password changed, clearing existing cookie if any"))}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=$().createWriteStream(e,{flags:"a"})),V(Q,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&V(X,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==G(oe,this)&&null!==G(oe,this)&&null!==G(oe,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.1.b3"!==G(oe,this)){H(de,this,ke).call(this,G(ae,this).INFO,null,"Changing uri",e,"to negotiated version",G(oe,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,G(oe,this))}V(Y,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==G(Y,this)&&""!==this.host&&""!==this.port?i=G(Y,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var s=i+e;return s.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")){let i=null;if(e.headers.hasOwnProperty("etag")&&(i=e.headers.etag),null!==i&&void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return G(oe,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===G(re,this)?this.callApiInternal("/api/iam/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,s="v4.1.b2";if(H(de,this,we).call(this,H(de,this,fe).call(this,i),H(de,this,fe).call(this,s)))return H(de,this,ke).call(this,G(ae,this).WARN,null,"Server version",i,"is below minimum supported version",s,". Version negotiation will not be performed."),V(oe,this,null),V(re,this,!1),void n(e);V(oe,this,H(de,this,$e).call(this,"v4.1.b3",i)),V(re,this,!0),H(de,this,ke).call(this,G(ae,this).INFO,null,"Negotiated Version with server :",G(oe,this)),n(e)}else H(de,this,ke).call(this,G(ae,this).ERROR,null,"Could not fetch supported versions from server"),V(oe,this,null),V(re,this,!1),n(e)}).catch(t=>{H(de,this,ke).call(this,G(ae,this).ERROR,null,"Could not fetch supported versions from server"),V(oe,this,null),V(re,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,s,r,o,a,d,l,h){return this.negotiateVersion(this,a).then(function(u){return u.callApiInternal(e,t,n,i,s,r,o,a,d,l,h)})}callApiInternal(e,t,i,r,o,a,d,l,h,u,p){var y=this.buildUrl(e,i);const g="undefined"!=typeof window&&void 0!==window.document;let v=["application/octet-stream","application/pdf","application/zip"];if(u&&u.length>0&&u.some(e=>v.includes(e))&&g&&this.downloadDestination)return new Promise((e,n)=>{const i=H(de,this,Ie).call(this,y,t,r,o,d,l,h,u);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,H(de,this,ke).call(this,G(ae,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";H(de,this,ke).call(this,G(ae,this).ERROR,null,e),n(e)}const i=t.body.getReader(),s=this.downloadDestination.getWriter(),r=()=>i.read().then(({done:n,value:i})=>(n&&(s.close(),H(de,this,ke).call(this,G(ae,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),s.write(i).then(r)));return r()}).catch(e=>{H(de,this,ke).call(this,G(ae,this).ERROR,null,"Caught the following error :",e),n(e)})});var m=s()(t,y);if(m.oldCallback=m.callback,m.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),V(Z,this,!0),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},H(de,this,ye).call(this,m,l),"GET"===t.toUpperCase()&&!1===this.cache&&(r._=(new Date).getTime()),m.query(H(de,this,pe).call(this,r)),m.set(this.defaultHeaders).set(H(de,this,pe).call(this,o)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==o["NTNX-Request-Id"]&&void 0!==o["NTNX-Request-Id"])){let e=c();m.set(H(de,this,pe).call(this,{"NTNX-Request-Id":e}))}g||(this.downloadDestination=".",m.set(H(de,this,pe).call(this,{"User-Agent":"Nutanix-iam-js-client/4.1.2-beta.3"}))),this.requestAgent&&m.agent(this.requestAgent);var w={};w.response=H(de,this,be).call(this,this.connectTimeout,G(te,this)),w.deadline=H(de,this,be).call(this,this.readTimeout,G(ne,this)),m.timeout(w);var f=o.hasOwnProperty("Content-Type")?o["Content-Type"]:H(de,this,ue).call(this,h);if(f?"multipart/form-data"!=f&&m.type(f):m.header["Content-Type"]||m.type("application/json"),H(de,this,ke).call(this,G(ae,this).INFO,null,"Request URL :",t,y),H(de,this,ke).call(this,G(ae,this).DEBUG,H(de,this,Oe),"Request Headers :",void 0===m.header?"":m.header),"application/x-www-form-urlencoded"===f)m.send(H(de,this,pe).call(this,a));else if("multipart/form-data"==f){var b=H(de,this,pe).call(this,a);for(var T in b)b.hasOwnProperty(T)&&(H(de,this,ce).call(this,b[T])?m.attach(T,b[T]):m.field(T,b[T]))}else{if("application/octet-stream"===f&&null!=d&&"function"==typeof d.pipe){if(H(de,this,ke).call(this,G(ae,this).INFO,null,"Piping octet-stream request"),"function"==typeof d.pipe)d.pipe(m);else{let e;try{e=n(965)}catch(e){H(de,this,ke).call(this,G(ae,this).ERROR,null,"Error fetching steam/web")}d instanceof e.ReadableStream?d.pipeTo(new e.WritableStream({write(e){m.write(e)},close(){H(de,this,ke).call(this,G(ae,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){H(de,this,ke).call(this,G(ae,this).ERROR,null,"READABLE STREAM ABORTED")}})):m.send(d)}return new Promise((t,n)=>{m.on("error",e=>{H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{H(de,this,Ee).call(this,i,e,r,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&d&&m.send(d)}"Blob"==typeof p?m.responseType("blob"):"String"===p&&m.responseType("string"),H(de,this,je).call(this,m),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Request Body :",void 0===m._data?"":m._data);var j=o.hasOwnProperty("Accept")&&null!=o.Accept?o.Accept:u.join(", ");j&&m.accept(j);let k=u&&u.some(e=>v.includes(e));return new Promise((n,i)=>{m.buffer(!k).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Caught the following error :",e)}).end((o,a)=>{if(o)H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Caught error during the request!"),H(de,this,ke).call(this,G(ae,this).ERROR,null,o),404===o.status&&(V(re,this,!1),V(oe,this,null)),null!==o.response&&void 0!==o.response?o.data=H(de,this,ve).call(this,o.response,p):o.data=H(de,this,ge).call(this,o),i(o);else{H(de,this,ke).call(this,G(ae,this).INFO,null,"Response Status :",a.status),H(de,this,ke).call(this,G(ae,this).DEBUG,H(de,this,Oe),"Response Headers :",a.headers);let o="";if(a.headers.hasOwnProperty("content-type")&&(o=a.headers["content-type"]),v.includes(o)){if(!g){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=$().createWriteStream(e);H(de,this,Pe).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",r=this;H(de,this,ke).call(this,G(ae,this).INFO,null,"Redirecting to :",a.headers.location);var d=s()(t,a.headers.location);d.set(m.header),a.headers.hasOwnProperty("x-redirect-token")&&(H(de,this,ke).call(this,G(ae,this).INFO,null,"Writing X-Redirect-Token into Cookie"),d.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&d.agent(this.requestAgent),d.redirects(0),d.withCredentials(this.withCredentials),d.buffer(!1);let o=$().createWriteStream(e);d.pipe(o),d.on("response",function(t){H(de,r,ke).call(r,G(ae,r).INFO,null,"Received response after redirection :",t.status),H(de,r,Pe).call(r,t,o,e,n,i,p)})}else H(de,this,Ee).call(this,a,e,r,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let s=null;if(void 0!==t&&t.hasOwnProperty(n)&&(s=t[n]),null===s&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(s=i[1])}return null===s&&(s=i),s}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return le.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>le.convertToType(e,n))}if("object"==typeof t){var i,s;for(var r in t)if(t.hasOwnProperty(r)){i=r,s=t[r];break}var o={};for(var r in e)if(e.hasOwnProperty(r)){var a=le.convertToType(r,i),d=le.convertToType(e[r],s);o[a]=d}return o}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=le.convertToType(e[i],n));else for(var s in e)e.hasOwnProperty(s)&&(t[s]=le.convertToType(e[s],n))}}function he(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(H(de,this,he).call(this,e[t]))return e[t];return e[0]}function ce(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof b.Blob&&e instanceof b.Blob||"function"==typeof File&&e instanceof File}function pe(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];H(de,this,ce).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function ye(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}H(de,this,ke).call(this,G(ae,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(de,this,ke).call(this,G(ae,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ge(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ve(e,t){if(null==e||null==t||204==e.status)return null;var n=e.headers&&e.headers["content-type"]?e.headers["content-type"].split(";")[0].trim():"";if(n&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard","text/plain"].includes(n)){var i;(i=new t).setData(e.text);let n=new E;n.name="hasError",n.value=!1;let s=[n],r=new q;return r.flags=s,i.metadata=r,i}return(null==(i=e.body)||"object"==typeof i&&void 0===i.length&&!Object.keys(i).length)&&(i=e.text),W.convertToType(i,t)}function me(e,t,n){if(!(e instanceof r))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),s=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,s)}function $e(e,t){if(!e||!t)return e;let n=H(de,this,fe).call(this,e),i=H(de,this,fe).call(this,t);return!n.family===i.family||H(de,this,we).call(this,n,i)?e:t}function we(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),s=parseInt(e.versionType.substring(1)),r="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?s<r:"a"===n||"released"===t.versionType}function fe(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function be(e,t){return e<=0?e=t:e>G(ie,this)&&(e=G(ie,this)),e}function Te(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}V(X,this,t),V(Z,this,!1),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Retained cookie :",t)}else V(X,this,null)}function je(e){null==G(X,this)||G(Z,this)||e.set(H(de,this,pe).call(this,{Cookie:G(X,this)}))}function ke(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=G(ae,this).INFO),!H(de,this,Fe).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==G(Q,this)&&null!==G(Q,this)&&"function"==typeof G(Q,this).log?G(Q,this).log(i):console.log(i)}}function Fe(e){return!this.debug&&e===G(ae,this).DEBUG}function Oe(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function Ee(e,t,n,i,s,r){try{var o=H(de,this,ve).call(this,e,i);H(de,this,ke).call(this,G(ae,this).INFO,null,"Response Status :",e.status),H(de,this,ke).call(this,G(ae,this).DEBUG,H(de,this,Oe),"Response Headers :",e.headers),H(de,this,Te).call(this,e||{}),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Response Body :",o),204==e.status&&null==o?s({data:o,response:e}):e.ok&&null!=o?(this.addEtagToReservedMap(e,o),H(de,this,me).call(this,o,t,n),s({data:o,response:e})):(H(de,this,ke).call(this,G(ae,this).ERROR,null,o),r({...e.error,data:o}))}catch(e){H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Caught error while processing response!"),H(de,this,ke).call(this,G(ae,this).ERROR,null,e),e.data=H(de,this,ge).call(this,e),r(e)}}function Ie(e,t,n,i,s,r,o,a){let d={};r.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);d.Authorization=`Basic ${t}`}H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?d[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}H(de,this,ke).call(this,G(ae,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(d.Authorization="Bearer "+t.accessToken),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"oauth2 applied to request");break;default:throw H(de,this,ke).call(this,G(ae,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const l=H(de,this,pe).call(this,n),h=Object.keys(l).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(l[e])}`).join("&");let u=e;h&&(u+=(u.includes("?")?"&":"?")+h);const p={...this.defaultHeaders,...H(de,this,pe).call(this,i),...d};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=c();p["NTNX-Request-Id"]=e}null==G(X,this)||G(Z,this)||(p.Cookie=H(de,this,pe).call(this,{Cookie:G(X,this)}));var y=i.hasOwnProperty("Content-Type")?i["Content-Type"]:H(de,this,ue).call(this,o);p["Content-Type"]=y;var g=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return g&&(p.Accept=g),H(de,this,ke).call(this,G(ae,this).INFO,null,"Request URL :",t,e),H(de,this,ke).call(this,G(ae,this).DEBUG,H(de,this,Oe),"Request Headers :",p),H(de,this,ke).call(this,G(ae,this).DEBUG,null,"Request Body :",s||""),{url:u,options:{method:t,headers:p,body:s,credentials:this.withCredentials?"include":"same-origin"}}}function Pe(e,t,n,i,s,r){H(de,this,ke).call(this,G(ae,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){H(de,this,ke).call(this,G(ae,this).ERROR,null,"Issue while downloading file",e)}let o=new r,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=f().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,o.setData({path:f().parse(a),$objectType:"Path"});let i=new E;i.name="hasError",i.value=!1;let s=[i],r=new q;r.flags=s,o.metadata=r}e.on("end",()=>{H(de,this,ke).call(this,G(ae,this).INFO,null,"Finished streaming response"),0!==a.length?(H(de,this,ke).call(this,G(ae,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),$().renameSync(n,a),i({data:o,response:e})):(H(de,this,ke).call(this,G(ae,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:o,response:e}))}),e.on("error",e=>{H(de,this,ke).call(this,G(ae,this).ERROR,null,"Caught the following error :",e),error.data=H(de,this,ge).call(this,error),s(e)})}function Ae(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}W=le,le.instance=new le;var Ce=new WeakSet;class De{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ce),t.add(e),this.$objectType="iam.v4.error.AppMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new De,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(x.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ae(Ce,this,Ue).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:Ae(Ce,this,Ue).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("argumentsMap","undefined or null"):new F("errorGroup","undefined or null"):new F("locale","undefined or null"):new F("code","undefined or null"):new F("severity","undefined or null"):new F("message","undefined or null")}}function Ue(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}De.prototype.message=void 0,De.prototype.severity=void 0,De.prototype.code=void 0,De.prototype.locale="en_US",De.prototype.errorGroup=void 0,De.prototype.argumentsMap=void 0,De.prototype.$reserved=void 0,De.prototype.$objectType=void 0,De.prototype.$unknownFields=void 0;var Ne=new WeakSet;class Se{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ne),t.add(e),this.$objectType="iam.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Se,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributePath","undefined or null"):new F("message","undefined or null"):new F("location","undefined or null")}}function Re(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Se.prototype.location=void 0,Se.prototype.message=void 0,Se.prototype.attributePath=void 0,Se.prototype.$reserved=void 0,Se.prototype.$objectType=void 0,Se.prototype.$unknownFields=void 0;var xe=new WeakSet;class Le{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=xe),t.add(e),this.$objectType="iam.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Le,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=Se.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:Re(xe,this,Me).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("validationErrorMessages","undefined or null"):new F("path","undefined or null"):new F("error","undefined or null"):new F("statusCode","undefined or null"):new F("timestamp","undefined or null")}}function Me(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Je(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Le.prototype.timestamp=void 0,Le.prototype.statusCode=void 0,Le.prototype.error=void 0,Le.prototype.path=void 0,Le.prototype.validationErrorMessages=void 0,Le.prototype.$reserved=void 0,Le.prototype.$objectType=void 0,Le.prototype.$unknownFields=void 0;var _e=new WeakSet;class We{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=_e),t.add(e),this.$objectType="iam.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o,a;if(e){if(t=t||new We,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(o=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)"iam.v4.error.AppMessage"===a?(s=De.constructFromObject(i[r],void 0),o.push(s)):o.push(i[r]);t.setError(o)}else a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"iam.v4.error.SchemaValidationError"===a?t.setError(Le.constructFromObject(e.error,void 0)):t.setError(e.error);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):Je(_e,this,Ke).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):Je(_e,this,Ke).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}function Ke(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}We.prototype.error=void 0,We.prototype.$reserved=void 0,We.prototype.$objectType=void 0,We.prototype.$unknownFields=void 0;var Be=new WeakSet;class ze extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Be),t.add(e),this.$objectType="iam.v4.authn.DeleteCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ze,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qe(Be,this,Ge).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qe(Be,this,Ge).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ge(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ze.prototype.metadata=void 0,ze.prototype.data=void 0,ze.prototype.$reserved=void 0,ze.prototype.$objectType=void 0,ze.prototype.$unknownFields=void 0;var Ve=new WeakSet;class He{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ve),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new He,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!k.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}He.prototype.tenantId=void 0,He.prototype.$reserved=void 0,He.prototype.$objectType=void 0,He.prototype.$unknownFields=void 0;var Ye=new WeakSet;class Xe extends He{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ye),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xe,He.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(o=[],i=e.links,r=0;r<i.length;r++)s=_.constructFromObject(i[r],void 0),o.push(s);t.setLinks(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new F("extId","undefined or null");if(null==e){if(!k.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===j.update&&!k.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new F("links","undefined or null");if(!k.validateMaxItems(this.links,20))return new F("links","does not satisfy required maxItems constraint: 20")}return new F(t,"no such property exists")}}Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Ze=new WeakSet;class Qe{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ze),t.add(e),this.$objectType="iam.v4.authn.CertRevocationInfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Qe,e.hasOwnProperty("isOcspEnabled")&&null!==e.isOcspEnabled&&void 0!==e.isOcspEnabled&&t.setIsOcspEnabled(e.isOcspEnabled),e.hasOwnProperty("ocspResponder")&&null!==e.ocspResponder&&void 0!==e.ocspResponder&&t.setOcspResponder(e.ocspResponder),e.hasOwnProperty("isCrlEnabled")&&null!==e.isCrlEnabled&&void 0!==e.isCrlEnabled&&t.setIsCrlEnabled(e.isCrlEnabled),e.hasOwnProperty("crlDps")&&null!==e.crlDps&&void 0!==e.crlDps){for(r=[],i=e.crlDps,s=0;s<i.length;s++)r.push(i[s]);t.setCrlDps(r)}if(e.hasOwnProperty("globalCrlRefreshInterval")&&null!==e.globalCrlRefreshInterval&&void 0!==e.globalCrlRefreshInterval&&t.setGlobalCrlRefreshInterval(e.globalCrlRefreshInterval),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsOcspEnabled(){return this.isOcspEnabled}setIsOcspEnabled(e){this.isOcspEnabled=e}getOcspResponder(){return this.ocspResponder}setOcspResponder(e){this.ocspResponder=e}getIsCrlEnabled(){return this.isCrlEnabled}setIsCrlEnabled(e){this.isCrlEnabled=e}getCrlDps(){return this.crlDps}setCrlDps(e){this.crlDps=e}getGlobalCrlRefreshInterval(){return this.globalCrlRefreshInterval}setGlobalCrlRefreshInterval(e){this.globalCrlRefreshInterval=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIsOcspEnabled()&&null!==this.getIsOcspEnabled()?{isOcspEnabled:this.getIsOcspEnabled()}:{},...void 0!==this.getOcspResponder()&&null!==this.getOcspResponder()?{ocspResponder:this.getOcspResponder()}:{},...void 0!==this.getIsCrlEnabled()&&null!==this.getIsCrlEnabled()?{isCrlEnabled:this.getIsCrlEnabled()}:{},...void 0!==this.getCrlDps()&&null!==this.getCrlDps()?{crlDps:this.getCrlDps()}:{},...void 0!==this.getGlobalCrlRefreshInterval()&&null!==this.getGlobalCrlRefreshInterval()?{globalCrlRefreshInterval:this.getGlobalCrlRefreshInterval()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("isOcspEnabled"===t&&(void 0===this.isOcspEnabled||null===this.isOcspEnabled))return new F("isOcspEnabled","undefined or null");if("ocspResponder"===t){if(void 0===this.ocspResponder||null===this.ocspResponder)return new F("ocspResponder","undefined or null");if(!k.validatePattern(this.ocspResponder,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("ocspResponder","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("isCrlEnabled"===t&&(void 0===this.isCrlEnabled||null===this.isCrlEnabled))return new F("isCrlEnabled","undefined or null");if("crlDps"===t){if(void 0===this.crlDps||null===this.crlDps)return new F("crlDps","undefined or null");if(!k.validateMaxItems(this.crlDps,10))return new F("crlDps","does not satisfy required maxItems constraint: 10")}return"globalCrlRefreshInterval"!==t||void 0!==this.globalCrlRefreshInterval&&null!==this.globalCrlRefreshInterval?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("globalCrlRefreshInterval","undefined or null")}}function et(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Qe.prototype.isOcspEnabled=void 0,Qe.prototype.ocspResponder=void 0,Qe.prototype.isCrlEnabled=void 0,Qe.prototype.crlDps=void 0,Qe.prototype.globalCrlRefreshInterval=void 0,Qe.prototype.$reserved=void 0,Qe.prototype.$objectType=void 0,Qe.prototype.$unknownFields=void 0;var tt=new WeakSet;class nt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=tt),t.add(e),this.$objectType="iam.v4.authn.CertAuthProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("clientCaChain")&&null!==e.clientCaChain&&void 0!==e.clientCaChain&&t.setClientCaChain(e.clientCaChain),e.hasOwnProperty("isCertAuthEnabled")&&null!==e.isCertAuthEnabled&&void 0!==e.isCertAuthEnabled&&t.setIsCertAuthEnabled(e.isCertAuthEnabled),e.hasOwnProperty("isCacEnabled")&&null!==e.isCacEnabled&&void 0!==e.isCacEnabled&&t.setIsCacEnabled(e.isCacEnabled),e.hasOwnProperty("dirSvcExtID")&&null!==e.dirSvcExtID&&void 0!==e.dirSvcExtID&&t.setDirSvcExtID(e.dirSvcExtID),e.hasOwnProperty("caCertFileName")&&null!==e.caCertFileName&&void 0!==e.caCertFileName&&t.setCaCertFileName(e.caCertFileName),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("certRevocationInfo")&&null!==e.certRevocationInfo&&void 0!==e.certRevocationInfo&&t.setCertRevocationInfo(Qe.constructFromObject(e.certRevocationInfo)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getClientCaChain(){return this.clientCaChain}setClientCaChain(e){this.clientCaChain=e}getIsCertAuthEnabled(){return this.isCertAuthEnabled}setIsCertAuthEnabled(e){this.isCertAuthEnabled=e}getIsCacEnabled(){return this.isCacEnabled}setIsCacEnabled(e){this.isCacEnabled=e}getDirSvcExtID(){return this.dirSvcExtID}setDirSvcExtID(e){this.dirSvcExtID=e}getCaCertFileName(){return this.caCertFileName}setCaCertFileName(e){this.caCertFileName=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCertRevocationInfo(){return this.certRevocationInfo}setCertRevocationInfo(e){this.certRevocationInfo=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:et(tt,this,it).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:et(tt,this,it).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getClientCaChain()&&null!==this.getClientCaChain()?{clientCaChain:this.getClientCaChain()}:{},...void 0!==this.getIsCertAuthEnabled()&&null!==this.getIsCertAuthEnabled()?{isCertAuthEnabled:this.getIsCertAuthEnabled()}:{},...void 0!==this.getIsCacEnabled()&&null!==this.getIsCacEnabled()?{isCacEnabled:this.getIsCacEnabled()}:{},...void 0!==this.getDirSvcExtID()&&null!==this.getDirSvcExtID()?{dirSvcExtID:this.getDirSvcExtID()}:{},...void 0!==this.getCaCertFileName()&&null!==this.getCaCertFileName()?{caCertFileName:this.getCaCertFileName()}:{},...void 0!==this.getCertRevocationInfo()&&null!==this.getCertRevocationInfo()?{certRevocationInfo:this.getCertRevocationInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientCaChain"===t){if(void 0===this.clientCaChain||null===this.clientCaChain)return new F("clientCaChain","undefined or null");if(!k.validateMinLength(this.clientCaChain,64))return new F("clientCaChain","does not satisfy required minLength constraint: 64")}if("isCertAuthEnabled"===t&&(void 0===this.isCertAuthEnabled||null===this.isCertAuthEnabled))return new F("isCertAuthEnabled","undefined or null");if("isCacEnabled"===t&&(void 0===this.isCacEnabled||null===this.isCacEnabled))return new F("isCacEnabled","undefined or null");if("dirSvcExtID"===t){if(void 0===this.dirSvcExtID||null===this.dirSvcExtID)return new F("dirSvcExtID","undefined or null");if(!k.validatePattern(this.dirSvcExtID,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("dirSvcExtID","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("caCertFileName"===t){if(void 0===this.caCertFileName||null===this.caCertFileName)return new F("caCertFileName","undefined or null");if(!k.validateMaxLength(this.caCertFileName,255))return new F("caCertFileName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.caCertFileName,1))return new F("caCertFileName","does not satisfy required minLength constraint: 1")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"certRevocationInfo"!==t||void 0!==this.certRevocationInfo&&null!==this.certRevocationInfo?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("certRevocationInfo","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function it(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function st(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}nt.prototype.name=void 0,nt.prototype.clientCaChain=void 0,nt.prototype.isCertAuthEnabled=void 0,nt.prototype.isCacEnabled=void 0,nt.prototype.dirSvcExtID=void 0,nt.prototype.caCertFileName=void 0,nt.prototype.projectExtId="00000000-0000-0000-0000-000000000000",nt.prototype.isSharedWithAllProjects=!0,nt.prototype.certRevocationInfo=void 0,nt.prototype.createdTime=void 0,nt.prototype.lastUpdatedTime=void 0,nt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var rt=new WeakSet;class ot extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=rt),t.add(e),this.$objectType="iam.v4.authn.ListCertAuthProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new ot,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.CertAuthProvider"===d?(s=nt.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):st(rt,this,at).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):st(rt,this,at).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function at(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function dt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ot.prototype.metadata=void 0,ot.prototype.data=void 0,ot.prototype.$reserved=void 0,ot.prototype.$objectType=void 0,ot.prototype.$unknownFields=void 0;var lt=new WeakSet;class ht extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=lt),t.add(e),this.$objectType="iam.v4.authn.UpdateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ht,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(nt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):dt(lt,this,ut).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):dt(lt,this,ut).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ut(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ct(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ht.prototype.metadata=void 0,ht.prototype.data=void 0,ht.prototype.$reserved=void 0,ht.prototype.$objectType=void 0,ht.prototype.$unknownFields=void 0;var pt=new WeakSet;class yt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=pt),t.add(e),this.$objectType="iam.v4.authn.GetCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new yt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(nt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ct(pt,this,gt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ct(pt,this,gt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function vt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}yt.prototype.metadata=void 0,yt.prototype.data=void 0,yt.prototype.$reserved=void 0,yt.prototype.$objectType=void 0,yt.prototype.$unknownFields=void 0;var mt=new WeakSet;class $t extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mt),t.add(e),this.$objectType="iam.v4.authn.CreateCertAuthProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new $t,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.CertAuthProvider":t.setData(nt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):vt(mt,this,wt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):vt(mt,this,wt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function wt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ft(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}$t.prototype.metadata=void 0,$t.prototype.data=void 0,$t.prototype.$reserved=void 0,$t.prototype.$objectType=void 0,$t.prototype.$unknownFields=void 0;var bt=new WeakSet;class Tt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=bt),t.add(e),this.$objectType="iam.v4.authn.DeleteDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Tt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ft(bt,this,jt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ft(bt,this,jt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function jt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Tt.prototype.metadata=void 0,Tt.prototype.data=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;const kt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE_DIRECTORY:"ACTIVE_DIRECTORY",OPEN_LDAP:"OPEN_LDAP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(kt).find(t=>kt[t]===e);return null==t?kt.$UNKNOWN:kt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kt.$UNKNOWN:case kt.$REDACTED:case kt.ACTIVE_DIRECTORY:case kt.OPEN_LDAP:return;default:throw new Error("Invalid : must be DirectoryType.{ $UNKNOWN|$REDACTED|ACTIVE_DIRECTORY|OPEN_LDAP }")}}};Object.freeze(kt);const Ft=kt;var Ot=new WeakSet;class Et{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ot),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DsServiceAccount",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Et,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Et.prototype.username=void 0,Et.prototype.password=void 0,Et.prototype.$reserved=void 0,Et.prototype.$objectType=void 0,Et.prototype.$unknownFields=void 0;const It={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NON_RECURSIVE:"NON_RECURSIVE",RECURSIVE:"RECURSIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(It).find(t=>It[t]===e);return null==t?It.$UNKNOWN:It[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case It.$UNKNOWN:case It.$REDACTED:case It.NON_RECURSIVE:case It.RECURSIVE:return;default:throw new Error("Invalid : must be GroupSearchType.{ $UNKNOWN|$REDACTED|NON_RECURSIVE|RECURSIVE }")}}};Object.freeze(It);const Pt=It;var At=new WeakSet;class Ct{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=At),s.add(i),this.userObjectClass=e,this.userSearchBase=t,this.usernameAttribute=n,this.$objectType="iam.v4.authn.UserConfiguration",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ct,e.hasOwnProperty("userObjectClass")&&null!==e.userObjectClass&&void 0!==e.userObjectClass&&t.setUserObjectClass(e.userObjectClass),e.hasOwnProperty("userSearchBase")&&null!==e.userSearchBase&&void 0!==e.userSearchBase&&t.setUserSearchBase(e.userSearchBase),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserObjectClass(){return this.userObjectClass}setUserObjectClass(e){this.userObjectClass=e}getUserSearchBase(){return this.userSearchBase}setUserSearchBase(e){this.userSearchBase=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserObjectClass()&&null!==this.getUserObjectClass()?{userObjectClass:this.getUserObjectClass()}:{},...void 0!==this.getUserSearchBase()&&null!==this.getUserSearchBase()?{userSearchBase:this.getUserSearchBase()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["userObjectClass","userSearchBase","usernameAttribute"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userObjectClass"===t){if(void 0===this.userObjectClass||null===this.userObjectClass)return new F("userObjectClass","undefined or null");if(!k.validateMaxLength(this.userObjectClass,64))return new F("userObjectClass","does not satisfy required maxLength constraint: 64")}if("userSearchBase"===t){if(void 0===this.userSearchBase||null===this.userSearchBase)return new F("userSearchBase","undefined or null");if(!k.validateMaxLength(this.userSearchBase,200))return new F("userSearchBase","does not satisfy required maxLength constraint: 200")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!k.validateMaxLength(this.usernameAttribute,64))return new F("usernameAttribute","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ct.prototype.userObjectClass=void 0,Ct.prototype.userSearchBase=void 0,Ct.prototype.usernameAttribute=void 0,Ct.prototype.$reserved=void 0,Ct.prototype.$objectType=void 0,Ct.prototype.$unknownFields=void 0;var Dt=new WeakSet;class Ut{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=Dt),r.add(s),this.groupObjectClass=e,this.groupSearchBase=t,this.groupMemberAttribute=n,this.groupMemberAttributeValue=i,this.$objectType="iam.v4.authn.UserGroupConfiguration",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ut,e.hasOwnProperty("groupObjectClass")&&null!==e.groupObjectClass&&void 0!==e.groupObjectClass&&t.setGroupObjectClass(e.groupObjectClass),e.hasOwnProperty("groupSearchBase")&&null!==e.groupSearchBase&&void 0!==e.groupSearchBase&&t.setGroupSearchBase(e.groupSearchBase),e.hasOwnProperty("groupMemberAttribute")&&null!==e.groupMemberAttribute&&void 0!==e.groupMemberAttribute&&t.setGroupMemberAttribute(e.groupMemberAttribute),e.hasOwnProperty("groupMemberAttributeValue")&&null!==e.groupMemberAttributeValue&&void 0!==e.groupMemberAttributeValue&&t.setGroupMemberAttributeValue(e.groupMemberAttributeValue),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupObjectClass(){return this.groupObjectClass}setGroupObjectClass(e){this.groupObjectClass=e}getGroupSearchBase(){return this.groupSearchBase}setGroupSearchBase(e){this.groupSearchBase=e}getGroupMemberAttribute(){return this.groupMemberAttribute}setGroupMemberAttribute(e){this.groupMemberAttribute=e}getGroupMemberAttributeValue(){return this.groupMemberAttributeValue}setGroupMemberAttributeValue(e){this.groupMemberAttributeValue=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGroupObjectClass()&&null!==this.getGroupObjectClass()?{groupObjectClass:this.getGroupObjectClass()}:{},...void 0!==this.getGroupSearchBase()&&null!==this.getGroupSearchBase()?{groupSearchBase:this.getGroupSearchBase()}:{},...void 0!==this.getGroupMemberAttribute()&&null!==this.getGroupMemberAttribute()?{groupMemberAttribute:this.getGroupMemberAttribute()}:{},...void 0!==this.getGroupMemberAttributeValue()&&null!==this.getGroupMemberAttributeValue()?{groupMemberAttributeValue:this.getGroupMemberAttributeValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["groupObjectClass","groupSearchBase","groupMemberAttribute","groupMemberAttributeValue"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupObjectClass"===t){if(void 0===this.groupObjectClass||null===this.groupObjectClass)return new F("groupObjectClass","undefined or null");if(!k.validateMaxLength(this.groupObjectClass,64))return new F("groupObjectClass","does not satisfy required maxLength constraint: 64")}if("groupSearchBase"===t){if(void 0===this.groupSearchBase||null===this.groupSearchBase)return new F("groupSearchBase","undefined or null");if(!k.validateMaxLength(this.groupSearchBase,200))return new F("groupSearchBase","does not satisfy required maxLength constraint: 200")}if("groupMemberAttribute"===t){if(void 0===this.groupMemberAttribute||null===this.groupMemberAttribute)return new F("groupMemberAttribute","undefined or null");if(!k.validateMaxLength(this.groupMemberAttribute,64))return new F("groupMemberAttribute","does not satisfy required maxLength constraint: 64")}if("groupMemberAttributeValue"===t){if(void 0===this.groupMemberAttributeValue||null===this.groupMemberAttributeValue)return new F("groupMemberAttributeValue","undefined or null");if(!k.validateMaxLength(this.groupMemberAttributeValue,64))return new F("groupMemberAttributeValue","does not satisfy required maxLength constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Ut.prototype.groupObjectClass=void 0,Ut.prototype.groupSearchBase=void 0,Ut.prototype.groupMemberAttribute=void 0,Ut.prototype.groupMemberAttributeValue=void 0,Ut.prototype.$reserved=void 0,Ut.prototype.$objectType=void 0,Ut.prototype.$unknownFields=void 0;var Nt=new WeakSet;class St{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Nt),i.add(n),this.userConfiguration=e,this.userGroupConfiguration=t,this.$objectType="iam.v4.authn.OpenLdapConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new St,e.hasOwnProperty("userConfiguration")&&null!==e.userConfiguration&&void 0!==e.userConfiguration&&t.setUserConfiguration(Ct.constructFromObject(e.userConfiguration)),e.hasOwnProperty("userGroupConfiguration")&&null!==e.userGroupConfiguration&&void 0!==e.userGroupConfiguration&&t.setUserGroupConfiguration(Ut.constructFromObject(e.userGroupConfiguration)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserConfiguration(){return this.userConfiguration}setUserConfiguration(e){this.userConfiguration=e}getUserGroupConfiguration(){return this.userGroupConfiguration}setUserGroupConfiguration(e){this.userGroupConfiguration=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserConfiguration()&&null!==this.getUserConfiguration()?{userConfiguration:this.getUserConfiguration().toJson(!1)}:{},...void 0!==this.getUserGroupConfiguration()&&null!==this.getUserGroupConfiguration()?{userGroupConfiguration:this.getUserGroupConfiguration().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["userConfiguration","userGroupConfiguration"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"userConfiguration"!==t||void 0!==this.userConfiguration&&null!==this.userConfiguration?"userGroupConfiguration"!==t||void 0!==this.userGroupConfiguration&&null!==this.userGroupConfiguration?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("userGroupConfiguration","undefined or null"):new F("userConfiguration","undefined or null")}}function Rt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}St.prototype.userConfiguration=void 0,St.prototype.userGroupConfiguration=void 0,St.prototype.$reserved=void 0,St.prototype.$objectType=void 0,St.prototype.$unknownFields=void 0;var xt=new WeakSet;class Lt extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xt),t.add(e),this.$objectType="iam.v4.authn.DirectoryService",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Lt,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("url")&&null!==e.url&&void 0!==e.url&&t.setUrl(e.url),e.hasOwnProperty("secondaryUrls")&&null!==e.secondaryUrls&&void 0!==e.secondaryUrls){for(r=[],i=e.secondaryUrls,s=0;s<i.length;s++)r.push(i[s]);t.setSecondaryUrls(r)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("directoryType")&&null!==e.directoryType&&void 0!==e.directoryType&&t.setDirectoryType(Ft.constructFromObject(e.directoryType)),e.hasOwnProperty("serviceAccount")&&null!==e.serviceAccount&&void 0!==e.serviceAccount&&t.setServiceAccount(Et.constructFromObject(e.serviceAccount)),e.hasOwnProperty("openLdapConfiguration")&&null!==e.openLdapConfiguration&&void 0!==e.openLdapConfiguration&&t.setOpenLdapConfiguration(St.constructFromObject(e.openLdapConfiguration)),e.hasOwnProperty("groupSearchType")&&null!==e.groupSearchType&&void 0!==e.groupSearchType&&t.setGroupSearchType(Pt.constructFromObject(e.groupSearchType)),e.hasOwnProperty("whiteListedGroups")&&null!==e.whiteListedGroups&&void 0!==e.whiteListedGroups){for(r=[],i=e.whiteListedGroups,s=0;s<i.length;s++)r.push(i[s]);t.setWhiteListedGroups(r)}if(e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getUrl(){return this.url}setUrl(e){this.url=e}getSecondaryUrls(){return this.secondaryUrls}setSecondaryUrls(e){this.secondaryUrls=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getDirectoryType(){return this.directoryType}setDirectoryType(e){this.directoryType=e}getServiceAccount(){return this.serviceAccount}setServiceAccount(e){this.serviceAccount=e}getOpenLdapConfiguration(){return this.openLdapConfiguration}setOpenLdapConfiguration(e){this.openLdapConfiguration=e}getGroupSearchType(){return this.groupSearchType}setGroupSearchType(e){this.groupSearchType=e}getWhiteListedGroups(){return this.whiteListedGroups}setWhiteListedGroups(e){this.whiteListedGroups=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Rt(xt,this,Mt).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Rt(xt,this,Mt).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUrl()&&null!==this.getUrl()?{url:this.getUrl()}:{},...void 0!==this.getSecondaryUrls()&&null!==this.getSecondaryUrls()?{secondaryUrls:this.getSecondaryUrls()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getDirectoryType()&&null!==this.getDirectoryType()?{directoryType:this.getDirectoryType()}:{},...void 0!==this.getServiceAccount()&&null!==this.getServiceAccount()?{serviceAccount:this.getServiceAccount().toJson(!1)}:{},...void 0!==this.getOpenLdapConfiguration()&&null!==this.getOpenLdapConfiguration()?{openLdapConfiguration:this.getOpenLdapConfiguration().toJson(!1)}:{},...void 0!==this.getGroupSearchType()&&null!==this.getGroupSearchType()?{groupSearchType:this.getGroupSearchType()}:{},...void 0!==this.getWhiteListedGroups()&&null!==this.getWhiteListedGroups()?{whiteListedGroups:this.getWhiteListedGroups()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("url"===t){if(void 0===this.url||null===this.url)return new F("url","undefined or null");if(!k.validateMaxLength(this.url,2e3))return new F("url","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.url,3))return new F("url","does not satisfy required minLength constraint: 3")}if("secondaryUrls"===t){if(void 0===this.secondaryUrls||null===this.secondaryUrls)return new F("secondaryUrls","undefined or null");if(!k.validateMaxItems(this.secondaryUrls,5))return new F("secondaryUrls","does not satisfy required maxItems constraint: 5")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!k.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("directoryType"===t&&(void 0===this.directoryType||null===this.directoryType))return new F("directoryType","undefined or null");if("serviceAccount"===t&&(void 0===this.serviceAccount||null===this.serviceAccount))return new F("serviceAccount","undefined or null");if("openLdapConfiguration"===t&&(void 0===this.openLdapConfiguration||null===this.openLdapConfiguration))return new F("openLdapConfiguration","undefined or null");if("groupSearchType"===t&&(void 0===this.groupSearchType||null===this.groupSearchType))return new F("groupSearchType","undefined or null");if("whiteListedGroups"===t){if(void 0===this.whiteListedGroups||null===this.whiteListedGroups)return new F("whiteListedGroups","undefined or null");if(!k.validateMaxItems(this.whiteListedGroups,1e3))return new F("whiteListedGroups","does not satisfy required maxItems constraint: 1000")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("sharedWithProjects","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function Mt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Jt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Lt.prototype.name=void 0,Lt.prototype.url=void 0,Lt.prototype.secondaryUrls=void 0,Lt.prototype.domainName=void 0,Lt.prototype.directoryType=void 0,Lt.prototype.serviceAccount=void 0,Lt.prototype.openLdapConfiguration=void 0,Lt.prototype.groupSearchType=void 0,Lt.prototype.whiteListedGroups=void 0,Lt.prototype.projectExtId=void 0,Lt.prototype.isSharedWithAllProjects=void 0,Lt.prototype.sharedWithProjects=void 0,Lt.prototype.createdTime=void 0,Lt.prototype.lastUpdatedTime=void 0,Lt.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var _t=new WeakSet;class Wt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_t),t.add(e),this.$objectType="iam.v4.authn.GetDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Lt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jt(_t,this,Kt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jt(_t,this,Kt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var Bt=new WeakSet;class zt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bt),t.add(e),this.$objectType="iam.v4.authn.ListDirectoryServicesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new zt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.DirectoryService"===d?(s=Lt.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qt(Bt,this,Gt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qt(Bt,this,Gt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}zt.prototype.metadata=void 0,zt.prototype.data=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Vt=new WeakSet;class Ht{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Vt),n.add(t),this.message=e,this.$objectType="iam.v4.common.ActionBaseResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ht,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}Ht.prototype.message=void 0,Ht.prototype.$reserved=void 0,Ht.prototype.$objectType=void 0,Ht.prototype.$unknownFields=void 0;class Yt extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceConnectionResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yt,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Xt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Zt=new WeakSet;class Qt extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zt),t.add(e),this.$objectType="iam.v4.authn.ConnectionDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Qt,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceConnectionResponse":t.setData(Yt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xt(Zt,this,en).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Xt(Zt,this,en).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function en(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Qt.prototype.metadata=void 0,Qt.prototype.data=void 0,Qt.prototype.$reserved=void 0,Qt.prototype.$objectType=void 0,Qt.prototype.$unknownFields=void 0;class tn extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceUnshareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tn,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function nn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var sn=new WeakSet;class rn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=sn),t.add(e),this.$objectType="iam.v4.authn.UnshareDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new rn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceUnshareResponse":t.setData(tn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):nn(sn,this,on).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):nn(sn,this,on).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function on(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function an(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rn.prototype.metadata=void 0,rn.prototype.data=void 0,rn.prototype.$reserved=void 0,rn.prototype.$objectType=void 0,rn.prototype.$unknownFields=void 0;var dn=new WeakSet;class ln extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dn),t.add(e),this.$objectType="iam.v4.authn.CreateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ln,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Lt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):an(dn,this,hn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):an(dn,this,hn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ln.prototype.metadata=void 0,ln.prototype.data=void 0,ln.prototype.$reserved=void 0,ln.prototype.$objectType=void 0,ln.prototype.$unknownFields=void 0;class un extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceUnshareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new un,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function cn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var pn=new WeakSet;class yn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=pn),t.add(e),this.$objectType="iam.v4.authn.UnshareAllDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new yn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceUnshareAllResponse":t.setData(un.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):cn(pn,this,gn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):cn(pn,this,gn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function gn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}yn.prototype.metadata=void 0,yn.prototype.data=void 0,yn.prototype.$reserved=void 0,yn.prototype.$objectType=void 0,yn.prototype.$unknownFields=void 0;var vn=new WeakSet;class mn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=vn),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.DirectoryServiceUnshareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mn,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function $n(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mn.prototype.projectExtId=void 0,mn.prototype.$reserved=void 0,mn.prototype.$objectType=void 0,mn.prototype.$unknownFields=void 0;var wn=new WeakSet;class fn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=wn),t.add(e),this.$objectType="iam.v4.authn.UpdateDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryService":t.setData(Lt.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):$n(wn,this,bn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):$n(wn,this,bn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function bn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}fn.prototype.metadata=void 0,fn.prototype.data=void 0,fn.prototype.$reserved=void 0,fn.prototype.$objectType=void 0,fn.prototype.$unknownFields=void 0;var Tn=new WeakSet;class jn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Tn),n.add(t),this.query=e,this.$objectType="iam.v4.authn.DirectoryServiceSearchQuery",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new jn,e.hasOwnProperty("query")&&null!==e.query&&void 0!==e.query&&t.setQuery(e.query),e.hasOwnProperty("searchedAttributes")&&null!==e.searchedAttributes&&void 0!==e.searchedAttributes){for(r=[],i=e.searchedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setSearchedAttributes(r)}if(e.hasOwnProperty("returnedAttributes")&&null!==e.returnedAttributes&&void 0!==e.returnedAttributes){for(r=[],i=e.returnedAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setReturnedAttributes(r)}if(e.hasOwnProperty("isWildcardSearch")&&null!==e.isWildcardSearch&&void 0!==e.isWildcardSearch&&t.setIsWildcardSearch(e.isWildcardSearch),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getQuery(){return this.query}setQuery(e){this.query=e}getSearchedAttributes(){return this.searchedAttributes}setSearchedAttributes(e){this.searchedAttributes=e}getReturnedAttributes(){return this.returnedAttributes}setReturnedAttributes(e){this.returnedAttributes=e}getIsWildcardSearch(){return this.isWildcardSearch}setIsWildcardSearch(e){this.isWildcardSearch=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getQuery()&&null!==this.getQuery()?{query:this.getQuery()}:{},...void 0!==this.getSearchedAttributes()&&null!==this.getSearchedAttributes()?{searchedAttributes:this.getSearchedAttributes()}:{},...void 0!==this.getReturnedAttributes()&&null!==this.getReturnedAttributes()?{returnedAttributes:this.getReturnedAttributes()}:{},...void 0!==this.getIsWildcardSearch()&&null!==this.getIsWildcardSearch()?{isWildcardSearch:this.getIsWildcardSearch()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["query"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("query"===t){if(void 0===this.query||null===this.query)return new F("query","undefined or null");if(!k.validateMaxLength(this.query,2e3))return new F("query","does not satisfy required maxLength constraint: 2000")}if("searchedAttributes"===t){if(void 0===this.searchedAttributes||null===this.searchedAttributes)return new F("searchedAttributes","undefined or null");if(!k.validateMaxItems(this.searchedAttributes,25))return new F("searchedAttributes","does not satisfy required maxItems constraint: 25")}if("returnedAttributes"===t){if(void 0===this.returnedAttributes||null===this.returnedAttributes)return new F("returnedAttributes","undefined or null");if(!k.validateMaxItems(this.returnedAttributes,25))return new F("returnedAttributes","does not satisfy required maxItems constraint: 25")}return"isWildcardSearch"!==t||void 0!==this.isWildcardSearch&&null!==this.isWildcardSearch?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("isWildcardSearch","undefined or null")}}jn.prototype.query=void 0,jn.prototype.searchedAttributes=void 0,jn.prototype.returnedAttributes=void 0,jn.prototype.isWildcardSearch=!0,jn.prototype.$reserved=void 0,jn.prototype.$objectType=void 0,jn.prototype.$unknownFields=void 0;var kn=new WeakSet;class Fn{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=kn),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.DirectoryServiceShareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Fn,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Fn.prototype.projectExtId=void 0,Fn.prototype.$reserved=void 0,Fn.prototype.$objectType=void 0,Fn.prototype.$unknownFields=void 0;class On extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceShareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new On,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function En(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var In=new WeakSet;class Pn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=In),t.add(e),this.$objectType="iam.v4.authn.ShareDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceShareResponse":t.setData(On.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):En(In,this,An).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):En(In,this,An).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function An(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Pn.prototype.metadata=void 0,Pn.prototype.data=void 0,Pn.prototype.$reserved=void 0,Pn.prototype.$objectType=void 0,Pn.prototype.$unknownFields=void 0;var Cn=new WeakSet;class Dn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Cn),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchAttribute",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Dn,e.hasOwnProperty("values")&&null!==e.values&&void 0!==e.values){for(r=[],i=e.values,s=0;s<i.length;s++)r.push(i[s]);t.setValues(r)}if(e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValues(){return this.values}setValues(e){this.values=e}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValues()&&null!==this.getValues()?{values:this.getValues()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("values"===t){if(void 0===this.values||null===this.values)return new F("values","undefined or null");if(!k.validateMaxItems(this.values,25))return new F("values","does not satisfy required maxItems constraint: 25")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,1e3))return new F("name","does not satisfy required maxLength constraint: 1000")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Dn.prototype.values=void 0,Dn.prototype.name=void 0,Dn.prototype.$reserved=void 0,Dn.prototype.$objectType=void 0,Dn.prototype.$unknownFields=void 0;var Un=new WeakSet;class Nn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Un),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Nn,e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes){for(o=[],i=e.attributes,r=0;r<i.length;r++)s=Dn.constructFromObject(i[r],void 0),o.push(s);t.setAttributes(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getName(){return this.name}setName(e){this.name=e}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new F("entityType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,64))return new F("name","does not satisfy required maxLength constraint: 64")}if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new F("identityExtId","undefined or null");if(!k.validatePattern(this.identityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("identityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("attributes"===t){if(void 0===this.attributes||null===this.attributes)return new F("attributes","undefined or null");if(!k.validateMaxItems(this.attributes,25))return new F("attributes","does not satisfy required maxItems constraint: 25")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Nn.prototype.entityType=void 0,Nn.prototype.name=void 0,Nn.prototype.identityExtId=void 0,Nn.prototype.attributes=void 0,Nn.prototype.$reserved=void 0,Nn.prototype.$objectType=void 0,Nn.prototype.$unknownFields=void 0;var Sn=new WeakSet;class Rn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Sn),t.add(e),this.$objectType="iam.v4.authn.DirectoryServiceSearchResult",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Rn,e.hasOwnProperty("searchResults")&&null!==e.searchResults&&void 0!==e.searchResults){for(o=[],i=e.searchResults,r=0;r<i.length;r++)s=Nn.constructFromObject(i[r],void 0),o.push(s);t.setSearchResults(o)}if(e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSearchResults(){return this.searchResults}setSearchResults(e){this.searchResults=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSearchResults()&&null!==this.getSearchResults()?{searchResults:this.getSearchResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("searchResults"===t){if(void 0===this.searchResults||null===this.searchResults)return new F("searchResults","undefined or null");if(!k.validateMaxItems(this.searchResults,1e3))return new F("searchResults","does not satisfy required maxItems constraint: 1000")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!k.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function xn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Rn.prototype.searchResults=void 0,Rn.prototype.domainName=void 0,Rn.prototype.$reserved=void 0,Rn.prototype.$objectType=void 0,Rn.prototype.$unknownFields=void 0;var Ln=new WeakSet;class Mn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ln),t.add(e),this.$objectType="iam.v4.authn.SearchDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Mn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceSearchResult":t.setData(Rn.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):xn(Ln,this,Jn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):xn(Ln,this,Jn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Jn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Mn.prototype.metadata=void 0,Mn.prototype.data=void 0,Mn.prototype.$reserved=void 0,Mn.prototype.$objectType=void 0,Mn.prototype.$unknownFields=void 0;class _n extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.DirectoryServiceShareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _n,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Wn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Kn=new WeakSet;class qn extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Kn),t.add(e),this.$objectType="iam.v4.authn.ShareAllDirectoryServiceApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new qn,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.DirectoryServiceShareAllResponse":t.setData(_n.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Wn(Kn,this,Bn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Wn(Kn,this,Bn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Bn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}qn.prototype.metadata=void 0,qn.prototype.data=void 0,qn.prototype.$reserved=void 0,qn.prototype.$objectType=void 0,qn.prototype.$unknownFields=void 0;var zn=new WeakSet;class Gn{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=zn),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.DirectoryServiceConnectionRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Gn,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,512))return new F("username","does not satisfy required maxLength constraint: 512")}return"password"!==t||void 0!==this.password&&null!==this.password?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("password","undefined or null")}}Gn.prototype.username=void 0,Gn.prototype.password=void 0,Gn.prototype.$reserved=void 0,Gn.prototype.$objectType=void 0,Gn.prototype.$unknownFields=void 0;const Vn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER_DEFINED:"USER_DEFINED",SERVICE_DEFINED:"SERVICE_DEFINED",PREDEFINED_READ_ONLY:"PREDEFINED_READ_ONLY",PREDEFINED_UPDATE_IDENTITY_ONLY:"PREDEFINED_UPDATE_IDENTITY_ONLY",SERVICE_DEFINED_READ_ONLY:"SERVICE_DEFINED_READ_ONLY",MEMBERSHIP_DEFINED:"MEMBERSHIP_DEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vn).find(t=>Vn[t]===e);return null==t?Vn.$UNKNOWN:Vn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vn.$UNKNOWN:case Vn.$REDACTED:case Vn.USER_DEFINED:case Vn.SERVICE_DEFINED:case Vn.PREDEFINED_READ_ONLY:case Vn.PREDEFINED_UPDATE_IDENTITY_ONLY:case Vn.SERVICE_DEFINED_READ_ONLY:case Vn.MEMBERSHIP_DEFINED:return;default:throw new Error("Invalid : must be AuthorizationPolicyType.{ $UNKNOWN|$REDACTED|USER_DEFINED|SERVICE_DEFINED|PREDEFINED_READ_ONLY|PREDEFINED_UPDATE_IDENTITY_ONLY|SERVICE_DEFINED_READ_ONLY|MEMBERSHIP_DEFINED }")}}};Object.freeze(Vn);const Hn=Vn;var Yn=new WeakSet;class Xn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Yn),t.add(e),this.$objectType="iam.v4.authz.EntityFilter",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xn,e.hasOwnProperty("entityFilter")&&null!==e.entityFilter&&void 0!==e.entityFilter&&t.setEntityFilter(e.entityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityFilter(){return this.entityFilter}setEntityFilter(e){this.entityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityFilter()&&null!==this.getEntityFilter()?{entityFilter:this.getEntityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"entityFilter"!==t||void 0!==this.entityFilter&&null!==this.entityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entityFilter","undefined or null")}}Xn.prototype.entityFilter=void 0,Xn.prototype.$reserved=void 0,Xn.prototype.$objectType=void 0,Xn.prototype.$unknownFields=void 0;var Zn=new WeakSet;class Qn extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zn),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Qn,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Xn.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("role")&&null!==e.role&&void 0!==e.role&&t.setRole(e.role),e.hasOwnProperty("isGlobal")&&null!==e.isGlobal&&void 0!==e.isGlobal&&t.setIsGlobal(e.isGlobal),e.hasOwnProperty("domainExtIds")&&null!==e.domainExtIds&&void 0!==e.domainExtIds){for(o=[],i=e.domainExtIds,r=0;r<i.length;r++)o.push(i[r]);t.setDomainExtIds(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getRole(){return this.role}setRole(e){this.role=e}getIsGlobal(){return this.isGlobal}setIsGlobal(e){this.isGlobal=e}getDomainExtIds(){return this.domainExtIds}setDomainExtIds(e){this.domainExtIds=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!k.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!k.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}if("role"===t){if(void 0===this.role||null===this.role)return new F("role","undefined or null");if(!k.validateMaxLength(this.role,255))return new F("role","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.role,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("role","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isGlobal"!==t||void 0!==this.isGlobal&&null!==this.isGlobal?"domainExtIds"!==t||void 0!==this.domainExtIds&&null!==this.domainExtIds?new F(t,"no such property exists"):new F("domainExtIds","undefined or null"):new F("isGlobal","undefined or null")}}Qn.prototype.displayName=void 0,Qn.prototype.description=void 0,Qn.prototype.clientName=void 0,Qn.prototype.entities=void 0,Qn.prototype.role=void 0,Qn.prototype.isGlobal=!1,Qn.prototype.domainExtIds=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var ei=new WeakSet;class ti{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ei),t.add(e),this.$objectType="iam.v4.authz.IdentityFilter",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ti,e.hasOwnProperty("identityFilter")&&null!==e.identityFilter&&void 0!==e.identityFilter&&t.setIdentityFilter(e.identityFilter),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityFilter(){return this.identityFilter}setIdentityFilter(e){this.identityFilter=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityFilter()&&null!==this.getIdentityFilter()?{identityFilter:this.getIdentityFilter()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityFilter"!==t||void 0!==this.identityFilter&&null!==this.identityFilter?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("identityFilter","undefined or null")}}function ni(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ti.prototype.identityFilter=void 0,ti.prototype.$reserved=void 0,ti.prototype.$objectType=void 0,ti.prototype.$unknownFields=void 0;var ii=new WeakSet;class si extends Qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ii),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new si,Qn.constructFromObject(e,t,!0),e.hasOwnProperty("identities")&&null!==e.identities&&void 0!==e.identities){for(o=[],i=e.identities,r=0;r<i.length;r++)s=ti.constructFromObject(i[r],void 0),o.push(s);t.setIdentities(o)}if(e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("authorizationPolicyType")&&null!==e.authorizationPolicyType&&void 0!==e.authorizationPolicyType&&t.setAuthorizationPolicyType(Hn.constructFromObject(e.authorizationPolicyType)),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentities(){return this.identities}setIdentities(e){this.identities=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getAuthorizationPolicyType(){return this.authorizationPolicyType}setAuthorizationPolicyType(e){this.authorizationPolicyType=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}toJson(e){return!1===e?{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:ni(ii,this,ri).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:ni(ii,this,ri).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identities"===t){if(void 0===this.identities||null===this.identities)return new F("identities","undefined or null");if(!k.validateMaxItems(this.identities,600))return new F("identities","does not satisfy required maxItems constraint: 600");if(!k.validateMinItems(this.identities,1))return new F("identities","does not satisfy required minItems constraint: 1")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"authorizationPolicyType"!==t||void 0!==this.authorizationPolicyType&&null!==this.authorizationPolicyType?"assignedUsersCount"!==t||void 0!==this.assignedUsersCount&&null!==this.assignedUsersCount?"assignedUserGroupsCount"!==t||void 0!==this.assignedUserGroupsCount&&null!==this.assignedUserGroupsCount?new F(t,"no such property exists"):new F("assignedUserGroupsCount","undefined or null"):new F("assignedUsersCount","undefined or null"):new F("authorizationPolicyType","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function ri(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}si.prototype.identities=void 0,si.prototype.projectExtId=void 0,si.prototype.isSharedWithAllProjects=void 0,si.prototype.createdTime=void 0,si.prototype.lastUpdatedTime=void 0,si.prototype.createdBy=void 0,si.prototype.isSystemDefined=!0,si.prototype.authorizationPolicyType=void 0,si.prototype.assignedUsersCount=void 0,si.prototype.assignedUserGroupsCount=void 0,Qn.prototype.displayName=void 0,Qn.prototype.description=void 0,Qn.prototype.clientName=void 0,Qn.prototype.entities=void 0,Qn.prototype.role=void 0,Qn.prototype.isGlobal=!1,Qn.prototype.domainExtIds=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var oi=new WeakSet;class ai extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=oi),t.add(e),this.$objectType="iam.v4.authz.BaseRole",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ai,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("isGlobal")&&null!==e.isGlobal&&void 0!==e.isGlobal&&t.setIsGlobal(e.isGlobal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getIsGlobal(){return this.isGlobal}setIsGlobal(e){this.isGlobal=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"isGlobal"!==t||void 0!==this.isGlobal&&null!==this.isGlobal?new F(t,"no such property exists"):new F("isGlobal","undefined or null")}}ai.prototype.displayName=void 0,ai.prototype.clientName=void 0,ai.prototype.isGlobal=!1,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const di={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IMPACTED:"IMPACTED",NOT_IMPACTED:"NOT_IMPACTED",UNDETERMINED:"UNDETERMINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(di).find(t=>di[t]===e);return null==t?di.$UNKNOWN:di[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case di.$UNKNOWN:case di.$REDACTED:case di.IMPACTED:case di.NOT_IMPACTED:case di.UNDETERMINED:return;default:throw new Error("Invalid : must be OperationSchemaChangeImpact.{ $UNKNOWN|$REDACTED|IMPACTED|NOT_IMPACTED|UNDETERMINED }")}}};Object.freeze(di);const li=di;function hi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ui=new WeakSet;class ci extends ai{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ui),t.add(e),this.$objectType="iam.v4.authz.Role",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ci,ai.constructFromObject(e,t,!0),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(e.hasOwnProperty("accessibleClients")&&null!==e.accessibleClients&&void 0!==e.accessibleClients){for(r=[],i=e.accessibleClients,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleClients(r)}if(e.hasOwnProperty("accessibleEntityTypes")&&null!==e.accessibleEntityTypes&&void 0!==e.accessibleEntityTypes){for(r=[],i=e.accessibleEntityTypes,s=0;s<i.length;s++)r.push(i[s]);t.setAccessibleEntityTypes(r)}if(e.hasOwnProperty("accessibleClientsCount")&&null!==e.accessibleClientsCount&&void 0!==e.accessibleClientsCount&&t.setAccessibleClientsCount(e.accessibleClientsCount),e.hasOwnProperty("accessibleEntityTypesCount")&&null!==e.accessibleEntityTypesCount&&void 0!==e.accessibleEntityTypesCount&&t.setAccessibleEntityTypesCount(e.accessibleEntityTypesCount),e.hasOwnProperty("assignedUsersCount")&&null!==e.assignedUsersCount&&void 0!==e.assignedUsersCount&&t.setAssignedUsersCount(e.assignedUsersCount),e.hasOwnProperty("assignedUserGroupsCount")&&null!==e.assignedUserGroupsCount&&void 0!==e.assignedUserGroupsCount&&t.setAssignedUserGroupsCount(e.assignedUserGroupsCount),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("isSystemDefined")&&null!==e.isSystemDefined&&void 0!==e.isSystemDefined&&t.setIsSystemDefined(e.isSystemDefined),e.hasOwnProperty("operationSchemaChangeImpact")&&null!==e.operationSchemaChangeImpact&&void 0!==e.operationSchemaChangeImpact&&t.setOperationSchemaChangeImpact(li.constructFromObject(e.operationSchemaChangeImpact)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDescription(){return this.description}setDescription(e){this.description=e}getOperations(){return this.operations}setOperations(e){this.operations=e}getAccessibleClients(){return this.accessibleClients}setAccessibleClients(e){this.accessibleClients=e}getAccessibleEntityTypes(){return this.accessibleEntityTypes}setAccessibleEntityTypes(e){this.accessibleEntityTypes=e}getAccessibleClientsCount(){return this.accessibleClientsCount}setAccessibleClientsCount(e){this.accessibleClientsCount=e}getAccessibleEntityTypesCount(){return this.accessibleEntityTypesCount}setAccessibleEntityTypesCount(e){this.accessibleEntityTypesCount=e}getAssignedUsersCount(){return this.assignedUsersCount}setAssignedUsersCount(e){this.assignedUsersCount=e}getAssignedUserGroupsCount(){return this.assignedUserGroupsCount}setAssignedUserGroupsCount(e){this.assignedUserGroupsCount=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getIsSystemDefined(){return this.isSystemDefined}setIsSystemDefined(e){this.isSystemDefined=e}getOperationSchemaChangeImpact(){return this.operationSchemaChangeImpact}setOperationSchemaChangeImpact(e){this.operationSchemaChangeImpact=e}toJson(e){return!1===e?{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:hi(ui,this,pi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:hi(ui,this,pi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!k.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!k.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}if("accessibleClients"===t){if(void 0===this.accessibleClients||null===this.accessibleClients)return new F("accessibleClients","undefined or null");if(!k.validateMaxItems(this.accessibleClients,50))return new F("accessibleClients","does not satisfy required maxItems constraint: 50")}if("accessibleEntityTypes"===t){if(void 0===this.accessibleEntityTypes||null===this.accessibleEntityTypes)return new F("accessibleEntityTypes","undefined or null");if(!k.validateMaxItems(this.accessibleEntityTypes,500))return new F("accessibleEntityTypes","does not satisfy required maxItems constraint: 500")}if("accessibleClientsCount"===t&&(void 0===this.accessibleClientsCount||null===this.accessibleClientsCount))return new F("accessibleClientsCount","undefined or null");if("accessibleEntityTypesCount"===t&&(void 0===this.accessibleEntityTypesCount||null===this.accessibleEntityTypesCount))return new F("accessibleEntityTypesCount","undefined or null");if("assignedUsersCount"===t&&(void 0===this.assignedUsersCount||null===this.assignedUsersCount))return new F("assignedUsersCount","undefined or null");if("assignedUserGroupsCount"===t&&(void 0===this.assignedUserGroupsCount||null===this.assignedUserGroupsCount))return new F("assignedUserGroupsCount","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"isSystemDefined"!==t||void 0!==this.isSystemDefined&&null!==this.isSystemDefined?"operationSchemaChangeImpact"!==t||void 0!==this.operationSchemaChangeImpact&&null!==this.operationSchemaChangeImpact?new F(t,"no such property exists"):new F("operationSchemaChangeImpact","undefined or null"):new F("isSystemDefined","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function pi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}ci.prototype.description=void 0,ci.prototype.operations=void 0,ci.prototype.accessibleClients=void 0,ci.prototype.accessibleEntityTypes=void 0,ci.prototype.accessibleClientsCount=void 0,ci.prototype.accessibleEntityTypesCount=void 0,ci.prototype.assignedUsersCount=void 0,ci.prototype.assignedUserGroupsCount=void 0,ci.prototype.projectExtId=void 0,ci.prototype.isSharedWithAllProjects=void 0,ci.prototype.createdTime=void 0,ci.prototype.lastUpdatedTime=void 0,ci.prototype.createdBy=void 0,ci.prototype.isSystemDefined=!0,ci.prototype.operationSchemaChangeImpact=void 0,ai.prototype.displayName=void 0,ai.prototype.clientName=void 0,ai.prototype.isGlobal=!1,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;class yi extends ci{constructor(){super(),this.$objectType="iam.v4.authz.RoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new yi,ci.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function gi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var vi=new WeakSet;class mi extends si{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vi),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mi,si.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(yi.constructFromObject(e.roleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:gi(vi,this,$i).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:gi(vi,this,$i).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function $i(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function wi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mi.prototype.roleProjection=void 0,si.prototype.identities=void 0,si.prototype.projectExtId=void 0,si.prototype.isSharedWithAllProjects=void 0,si.prototype.createdTime=void 0,si.prototype.lastUpdatedTime=void 0,si.prototype.createdBy=void 0,si.prototype.isSystemDefined=!0,si.prototype.authorizationPolicyType=void 0,si.prototype.assignedUsersCount=void 0,si.prototype.assignedUserGroupsCount=void 0,Qn.prototype.displayName=void 0,Qn.prototype.description=void 0,Qn.prototype.clientName=void 0,Qn.prototype.entities=void 0,Qn.prototype.role=void 0,Qn.prototype.isGlobal=!1,Qn.prototype.domainExtIds=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var fi=new WeakSet;class bi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=fi),t.add(e),this.$objectType="iam.v4.authz.GetAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new bi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(si.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.AuthorizationPolicyProjection":t.setData(mi.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wi(fi,this,Ti).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wi(fi,this,Ti).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ti(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ji(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}bi.prototype.metadata=void 0,bi.prototype.data=void 0,bi.prototype.$reserved=void 0,bi.prototype.$objectType=void 0,bi.prototype.$unknownFields=void 0;var ki=new WeakSet;class Fi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ki),t.add(e),this.$objectType="iam.v4.authz.DeleteAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ji(ki,this,Oi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ji(ki,this,Oi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Oi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ei(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fi.prototype.metadata=void 0,Fi.prototype.data=void 0,Fi.prototype.$reserved=void 0,Fi.prototype.$objectType=void 0,Fi.prototype.$unknownFields=void 0;var Ii=new WeakSet;class Pi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ii),t.add(e),this.$objectType="iam.v4.authz.ListAuthorizationPoliciesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Pi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.AuthorizationPolicy":s=si.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.AuthorizationPolicyProjection":s=mi.constructFromObject(i[o],void 0),a.push(s);break;default:a.push(i[o])}t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ei(Ii,this,Ai).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ei(Ii,this,Ai).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ai(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ci(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pi.prototype.metadata=void 0,Pi.prototype.data=void 0,Pi.prototype.$reserved=void 0,Pi.prototype.$objectType=void 0,Pi.prototype.$unknownFields=void 0;var Di=new WeakSet;class Ui extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Di),t.add(e),this.$objectType="iam.v4.authz.UpdateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ui,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(M.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ci(Di,this,Ni).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ci(Di,this,Ni).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ni(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Si(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ui.prototype.metadata=void 0,Ui.prototype.data=void 0,Ui.prototype.$reserved=void 0,Ui.prototype.$objectType=void 0,Ui.prototype.$unknownFields=void 0;var Ri=new WeakSet;class xi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ri),t.add(e),this.$objectType="iam.v4.authz.CreateAuthorizationPolicyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new xi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.AuthorizationPolicy":t.setData(si.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.AuthorizationPolicyProjection":t.setData(mi.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Si(Ri,this,Li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Si(Ri,this,Li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Mi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xi.prototype.metadata=void 0,xi.prototype.data=void 0,xi.prototype.$reserved=void 0,xi.prototype.$objectType=void 0,xi.prototype.$unknownFields=void 0;var Ji=new WeakSet;class _i extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Ji),i.add(n),this.name=e,this.displayName=t,this.$objectType="iam.v4.authz.Client",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new _i,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("deploymentList")&&null!==e.deploymentList&&void 0!==e.deploymentList){for(r=[],i=e.deploymentList,s=0;s<i.length;s++)r.push(i[s]);t.setDeploymentList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getDeploymentList(){return this.deploymentList}setDeploymentList(e){this.deploymentList=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Mi(Ji,this,Wi).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Mi(Ji,this,Wi).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("deploymentList"===t){if(void 0===this.deploymentList||null===this.deploymentList)return new F("deploymentList","undefined or null");if(!k.validateMaxItems(this.deploymentList,5))return new F("deploymentList","does not satisfy required maxItems constraint: 5");if(!k.validateMinItems(this.deploymentList,1))return new F("deploymentList","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}function Wi(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ki(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_i.prototype.name=void 0,_i.prototype.description=void 0,_i.prototype.displayName=void 0,_i.prototype.createdTime=void 0,_i.prototype.lastUpdatedTime=void 0,_i.prototype.createdBy=void 0,_i.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var qi=new WeakSet;class Bi extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qi),t.add(e),this.$objectType="iam.v4.authz.GetClientApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Bi,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Client":t.setData(_i.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ki(qi,this,zi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ki(qi,this,zi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function zi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Bi.prototype.metadata=void 0,Bi.prototype.data=void 0,Bi.prototype.$reserved=void 0,Bi.prototype.$objectType=void 0,Bi.prototype.$unknownFields=void 0;const Gi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ALLOF:"ALLOF",ANYOF:"ANYOF",EQ:"EQ",NONEOF:"NONEOF",NOTEQ:"NOTEQ",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Gi).find(t=>Gi[t]===e);return null==t?Gi.$UNKNOWN:Gi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Gi.$UNKNOWN:case Gi.$REDACTED:case Gi.ALLOF:case Gi.ANYOF:case Gi.EQ:case Gi.NONEOF:case Gi.NOTEQ:return;default:throw new Error("Invalid : must be EntityOperators.{ $UNKNOWN|$REDACTED|ALLOF|ANYOF|EQ|NONEOF|NOTEQ }")}}};Object.freeze(Gi);const Vi=Gi;var Hi=new WeakSet;class Yi extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Hi),t.add(e),this.$objectType="iam.v4.authz.AttributeEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Yi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("supportedOperators")&&null!==e.supportedOperators&&void 0!==e.supportedOperators){for(o=[],i=e.supportedOperators,r=0;r<i.length;r++)s=Vi.constructFromObject(i[r],void 0),o.push(s);t.setSupportedOperators(o)}if(e.hasOwnProperty("attributeValues")&&null!==e.attributeValues&&void 0!==e.attributeValues){for(o=[],i=e.attributeValues,r=0;r<i.length;r++)o.push(i[r]);t.setAttributeValues(o)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getName(){return this.name}setName(e){this.name=e}getSupportedOperators(){return this.supportedOperators}setSupportedOperators(e){this.supportedOperators=e}getAttributeValues(){return this.attributeValues}setAttributeValues(e){this.attributeValues=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getSupportedOperators()&&null!==this.getSupportedOperators()?{supportedOperators:this.getSupportedOperators()}:{},...void 0!==this.getAttributeValues()&&null!==this.getAttributeValues()?{attributeValues:this.getAttributeValues()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^\\\"]*$/))return new F("name",'does not satisfy required pattern: /^[^\\"]*$/')}if("supportedOperators"===t){if(void 0===this.supportedOperators||null===this.supportedOperators)return new F("supportedOperators","undefined or null");if(!k.validateMaxItems(this.supportedOperators,5))return new F("supportedOperators","does not satisfy required maxItems constraint: 5")}if("attributeValues"===t){if(void 0===this.attributeValues||null===this.attributeValues)return new F("attributeValues","undefined or null");if(!k.validateMaxItems(this.attributeValues,25))return new F("attributeValues","does not satisfy required maxItems constraint: 25")}return new F(t,"no such property exists")}}function Xi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yi.prototype.displayName=void 0,Yi.prototype.name=void 0,Yi.prototype.supportedOperators=void 0,Yi.prototype.attributeValues=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Zi=new WeakSet;class Qi extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zi),t.add(e),this.$objectType="iam.v4.authz.Entity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Qi,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("searchURL")&&null!==e.searchURL&&void 0!==e.searchURL&&t.setSearchURL(e.searchURL),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("attributeList")&&null!==e.attributeList&&void 0!==e.attributeList){for(o=[],i=e.attributeList,r=0;r<i.length;r++)s=Yi.constructFromObject(i[r],void 0),o.push(s);t.setAttributeList(o)}if(e.hasOwnProperty("isLogicalAndSupportedForAttributes")&&null!==e.isLogicalAndSupportedForAttributes&&void 0!==e.isLogicalAndSupportedForAttributes&&t.setIsLogicalAndSupportedForAttributes(e.isLogicalAndSupportedForAttributes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getSearchURL(){return this.searchURL}setSearchURL(e){this.searchURL=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getAttributeList(){return this.attributeList}setAttributeList(e){this.attributeList=e}getIsLogicalAndSupportedForAttributes(){return this.isLogicalAndSupportedForAttributes}setIsLogicalAndSupportedForAttributes(e){this.isLogicalAndSupportedForAttributes=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Xi(Zi,this,es).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Xi(Zi,this,es).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^\\\"]*$/))return new F("displayName",'does not satisfy required pattern: /^[^\\"]*$/')}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}if("searchURL"===t){if(void 0===this.searchURL||null===this.searchURL)return new F("searchURL","undefined or null");if(!k.validateMaxLength(this.searchURL,2e3))return new F("searchURL","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.searchURL,3))return new F("searchURL","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.searchURL,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("searchURL","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t&&(void 0===this.createdBy||null===this.createdBy))return new F("createdBy","undefined or null");if("attributeList"===t){if(void 0===this.attributeList||null===this.attributeList)return new F("attributeList","undefined or null");if(!k.validateMaxItems(this.attributeList,10))return new F("attributeList","does not satisfy required maxItems constraint: 10")}return"isLogicalAndSupportedForAttributes"!==t||void 0!==this.isLogicalAndSupportedForAttributes&&null!==this.isLogicalAndSupportedForAttributes?new F(t,"no such property exists"):new F("isLogicalAndSupportedForAttributes","undefined or null")}}function es(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ts(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Qi.prototype.name=void 0,Qi.prototype.description=void 0,Qi.prototype.displayName=void 0,Qi.prototype.clientName=void 0,Qi.prototype.searchURL=void 0,Qi.prototype.createdTime=void 0,Qi.prototype.lastUpdatedTime=void 0,Qi.prototype.createdBy=void 0,Qi.prototype.attributeList=void 0,Qi.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var ns=new WeakSet;class is extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ns),t.add(e),this.$objectType="iam.v4.authz.ListEntitiesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new is,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authz.Entity"===d?(s=Qi.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ts(ns,this,ss).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ts(ns,this,ss).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ss(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function rs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}is.prototype.metadata=void 0,is.prototype.data=void 0,is.prototype.$reserved=void 0,is.prototype.$objectType=void 0,is.prototype.$unknownFields=void 0;var os=new WeakSet;class as extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=os),t.add(e),this.$objectType="iam.v4.authz.GetEntityApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new as,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Entity":t.setData(Qi.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):rs(os,this,ds).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):rs(os,this,ds).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ds(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}as.prototype.metadata=void 0,as.prototype.data=void 0,as.prototype.$reserved=void 0,as.prototype.$objectType=void 0,as.prototype.$unknownFields=void 0;const ls={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"local",SAML:"saml",LDAP:"ldap",CERT:"cert",SERVICE_ACCOUNT:"service_account",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ls).find(t=>ls[t]===e);return null==t?ls.$UNKNOWN:ls[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ls.$UNKNOWN:case ls.$REDACTED:case ls.LOCAL:case ls.SAML:case ls.LDAP:case ls.CERT:case ls.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be IdpType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(ls);const hs=ls;function us(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var cs=new WeakSet;class ps extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=cs),t.add(e),this.$objectType="iam.v4.authn.LoginProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new ps,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(hs.constructFromObject(e.type)),e.hasOwnProperty("isBrowserLoginSupported")&&null!==e.isBrowserLoginSupported&&void 0!==e.isBrowserLoginSupported&&t.setIsBrowserLoginSupported(e.isBrowserLoginSupported),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getType(){return this.type}setType(e){this.type=e}getIsBrowserLoginSupported(){return this.isBrowserLoginSupported}setIsBrowserLoginSupported(e){this.isBrowserLoginSupported=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getIsBrowserLoginSupported()&&null!==this.getIsBrowserLoginSupported()?{isBrowserLoginSupported:this.getIsBrowserLoginSupported()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:us(cs,this,ys).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:us(cs,this,ys).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("type"===t&&(void 0===this.type||null===this.type))return new F("type","undefined or null");if("isBrowserLoginSupported"===t&&(void 0===this.isBrowserLoginSupported||null===this.isBrowserLoginSupported))return new F("isBrowserLoginSupported","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("sharedWithProjects","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function ys(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function gs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ps.prototype.name=void 0,ps.prototype.type=void 0,ps.prototype.isBrowserLoginSupported=void 0,ps.prototype.projectExtId=void 0,ps.prototype.isSharedWithAllProjects=void 0,ps.prototype.sharedWithProjects=void 0,ps.prototype.createdTime=void 0,ps.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var vs=new WeakSet;class ms extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vs),t.add(e),this.$objectType="iam.v4.authn.ListLoginProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.LoginProvider"===d?(s=ps.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gs(vs,this,$s).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gs(vs,this,$s).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $s(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ms.prototype.metadata=void 0,ms.prototype.data=void 0,ms.prototype.$reserved=void 0,ms.prototype.$objectType=void 0,ms.prototype.$unknownFields=void 0;const ws={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",V3:"V3",V4:"V4",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ws).find(t=>ws[t]===e);return null==t?ws.$UNKNOWN:ws[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ws.$UNKNOWN:case ws.$REDACTED:case ws.V3:case ws.V4:return;default:throw new Error("Invalid : must be ApiVersion.{ $UNKNOWN|$REDACTED|V3|V4 }")}}};Object.freeze(ws);const fs=ws,bs={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",POST:"POST",GET:"GET",PUT:"PUT",PATCH:"PATCH",DELETE:"DELETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(bs).find(t=>bs[t]===e);return null==t?bs.$UNKNOWN:bs[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case bs.$UNKNOWN:case bs.$REDACTED:case bs.POST:case bs.GET:case bs.PUT:case bs.PATCH:case bs.DELETE:return;default:throw new Error("Invalid : must be HttpMethod.{ $UNKNOWN|$REDACTED|POST|GET|PUT|PATCH|DELETE }")}}};Object.freeze(bs);const Ts=bs;var js=new WeakSet;class ks{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=js),t.add(e),this.$objectType="iam.v4.authz.AssociatedEndpoint",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ks,e.hasOwnProperty("apiVersion")&&null!==e.apiVersion&&void 0!==e.apiVersion&&t.setApiVersion(fs.constructFromObject(e.apiVersion)),e.hasOwnProperty("endpointUrl")&&null!==e.endpointUrl&&void 0!==e.endpointUrl&&t.setEndpointUrl(e.endpointUrl),e.hasOwnProperty("httpMethod")&&null!==e.httpMethod&&void 0!==e.httpMethod&&t.setHttpMethod(Ts.constructFromObject(e.httpMethod)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiVersion(){return this.apiVersion}setApiVersion(e){this.apiVersion=e}getEndpointUrl(){return this.endpointUrl}setEndpointUrl(e){this.endpointUrl=e}getHttpMethod(){return this.httpMethod}setHttpMethod(e){this.httpMethod=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getEndpointUrl()&&null!==this.getEndpointUrl()?{endpointUrl:this.getEndpointUrl()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getApiVersion()&&null!==this.getApiVersion()?{apiVersion:this.getApiVersion()}:{},...void 0!==this.getHttpMethod()&&null!==this.getHttpMethod()?{httpMethod:this.getHttpMethod()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiVersion"===t&&(void 0===this.apiVersion||null===this.apiVersion))return new F("apiVersion","undefined or null");if("endpointUrl"===t){if(void 0===this.endpointUrl||null===this.endpointUrl)return new F("endpointUrl","undefined or null");if(!k.validatePattern(this.endpointUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("endpointUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"httpMethod"!==t||void 0!==this.httpMethod&&null!==this.httpMethod?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("httpMethod","undefined or null")}}ks.prototype.apiVersion=void 0,ks.prototype.endpointUrl=void 0,ks.prototype.httpMethod=void 0,ks.prototype.$reserved=void 0,ks.prototype.$objectType=void 0,ks.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Os{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Fs),n.add(t),this.notes=e,this.$objectType="iam.v4.authz.MigrationActionNotes",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Os,e.hasOwnProperty("notes")&&null!==e.notes&&void 0!==e.notes&&t.setNotes(e.notes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNotes(){return this.notes}setNotes(e){this.notes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNotes()&&null!==this.getNotes()?{notes:this.getNotes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["notes"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("notes"===t){if(void 0===this.notes||null===this.notes)return new F("notes","undefined or null");if(!k.validateMaxLength(this.notes,1e3))return new F("notes","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.notes,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("notes",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Os.prototype.notes=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;const Es={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INTERNAL:"INTERNAL",SYSTEM_DEFINED_ONLY:"SYSTEM_DEFINED_ONLY",EXTERNAL:"EXTERNAL",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Es).find(t=>Es[t]===e);return null==t?Es.$UNKNOWN:Es[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Es.$UNKNOWN:case Es.$REDACTED:case Es.INTERNAL:case Es.SYSTEM_DEFINED_ONLY:case Es.EXTERNAL:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|INTERNAL|SYSTEM_DEFINED_ONLY|EXTERNAL }")}}};Object.freeze(Es);const Is=Es;function Ps(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var As=new WeakSet;class Cs extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=As),t.add(e),this.$objectType="iam.v4.authz.Operation",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Cs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(e.entityType),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("allowOnSharedEntity")&&null!==e.allowOnSharedEntity&&void 0!==e.allowOnSharedEntity&&t.setAllowOnSharedEntity(e.allowOnSharedEntity),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(Is.constructFromObject(e.operationType)),e.hasOwnProperty("relatedOperationList")&&null!==e.relatedOperationList&&void 0!==e.relatedOperationList){for(o=[],i=e.relatedOperationList,r=0;r<i.length;r++)o.push(i[r]);t.setRelatedOperationList(o)}if(e.hasOwnProperty("associatedEndpointList")&&null!==e.associatedEndpointList&&void 0!==e.associatedEndpointList){for(o=[],i=e.associatedEndpointList,r=0;r<i.length;r++)s=ks.constructFromObject(i[r],void 0),o.push(s);t.setAssociatedEndpointList(o)}if(e.hasOwnProperty("migrationActionNotes")&&null!==e.migrationActionNotes&&void 0!==e.migrationActionNotes&&t.setMigrationActionNotes(Os.constructFromObject(e.migrationActionNotes)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getAllowOnSharedEntity(){return this.allowOnSharedEntity}setAllowOnSharedEntity(e){this.allowOnSharedEntity=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getRelatedOperationList(){return this.relatedOperationList}setRelatedOperationList(e){this.relatedOperationList=e}getAssociatedEndpointList(){return this.associatedEndpointList}setAssociatedEndpointList(e){this.associatedEndpointList=e}getMigrationActionNotes(){return this.migrationActionNotes}setMigrationActionNotes(e){this.migrationActionNotes=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ps(As,this,Ds).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ps(As,this,Ds).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entityType"===t){if(void 0===this.entityType||null===this.entityType)return new F("entityType","undefined or null");if(!k.validatePattern(this.entityType,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("entityType","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("allowOnSharedEntity"===t&&(void 0===this.allowOnSharedEntity||null===this.allowOnSharedEntity))return new F("allowOnSharedEntity","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new F("operationType","undefined or null");if("relatedOperationList"===t){if(void 0===this.relatedOperationList||null===this.relatedOperationList)return new F("relatedOperationList","undefined or null");if(!k.validateMaxItems(this.relatedOperationList,1e3))return new F("relatedOperationList","does not satisfy required maxItems constraint: 1000")}if("associatedEndpointList"===t){if(void 0===this.associatedEndpointList||null===this.associatedEndpointList)return new F("associatedEndpointList","undefined or null");if(!k.validateMaxItems(this.associatedEndpointList,4))return new F("associatedEndpointList","does not satisfy required maxItems constraint: 4")}return"migrationActionNotes"!==t||void 0!==this.migrationActionNotes&&null!==this.migrationActionNotes?new F(t,"no such property exists"):new F("migrationActionNotes","undefined or null")}}function Ds(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Us(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Cs.prototype.displayName=void 0,Cs.prototype.description=void 0,Cs.prototype.entityType=void 0,Cs.prototype.clientName=void 0,Cs.prototype.allowOnSharedEntity=!1,Cs.prototype.createdTime=void 0,Cs.prototype.lastUpdatedTime=void 0,Cs.prototype.operationType=void 0,Cs.prototype.relatedOperationList=void 0,Cs.prototype.associatedEndpointList=void 0,Cs.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Ns=new WeakSet;class Ss extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ns),t.add(e),this.$objectType="iam.v4.authz.ListOperationsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ss,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authz.Operation"===d?(s=Cs.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Us(Ns,this,Rs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Us(Ns,this,Rs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function xs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ss.prototype.metadata=void 0,Ss.prototype.data=void 0,Ss.prototype.$reserved=void 0,Ss.prototype.$objectType=void 0,Ss.prototype.$unknownFields=void 0;var Ls=new WeakSet;class Ms extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ls),t.add(e),this.$objectType="iam.v4.authz.GetOperationApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ms,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Operation":t.setData(Cs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):xs(Ls,this,Js).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):xs(Ls,this,Js).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Js(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ms.prototype.metadata=void 0,Ms.prototype.data=void 0,Ms.prototype.$reserved=void 0,Ms.prototype.$objectType=void 0,Ms.prototype.$unknownFields=void 0;const _s={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"USER",GROUP:"GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(_s).find(t=>_s[t]===e);return null==t?_s.$UNKNOWN:_s[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case _s.$UNKNOWN:case _s.$REDACTED:case _s.USER:case _s.GROUP:return;default:throw new Error("Invalid : must be RmIdentityType.{ $UNKNOWN|$REDACTED|USER|GROUP }")}}};Object.freeze(_s);const Ws=_s;function Ks(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var qs=new WeakSet;class Bs extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qs),t.add(e),this.$objectType="iam.v4.authz.RoleMembership",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Bs,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("roleExtId")&&null!==e.roleExtId&&void 0!==e.roleExtId&&t.setRoleExtId(e.roleExtId),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("scopeTemplateName")&&null!==e.scopeTemplateName&&void 0!==e.scopeTemplateName&&t.setScopeTemplateName(e.scopeTemplateName),e.hasOwnProperty("scopeTemplateNameValues")&&null!==e.scopeTemplateNameValues&&void 0!==e.scopeTemplateNameValues){for(o=[],i=e.scopeTemplateNameValues,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setScopeTemplateNameValues(o)}if(e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(Ws.constructFromObject(e.identityType)),e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("idpExtId")&&null!==e.idpExtId&&void 0!==e.idpExtId&&t.setIdpExtId(e.idpExtId),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleExtId(){return this.roleExtId}setRoleExtId(e){this.roleExtId=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getScopeTemplateName(){return this.scopeTemplateName}setScopeTemplateName(e){this.scopeTemplateName=e}getScopeTemplateNameValues(){return this.scopeTemplateNameValues}setScopeTemplateNameValues(e){this.scopeTemplateNameValues=e}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getIdpExtId(){return this.idpExtId}setIdpExtId(e){this.idpExtId=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ks(qs,this,zs).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ks(qs,this,zs).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roleExtId"===t){if(void 0===this.roleExtId||null===this.roleExtId)return new F("roleExtId","undefined or null");if(!k.validateMaxLength(this.roleExtId,255))return new F("roleExtId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.roleExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("roleExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validateMaxLength(this.projectExtId,255))return new F("projectExtId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("scopeTemplateName"===t){if(void 0===this.scopeTemplateName||null===this.scopeTemplateName)return new F("scopeTemplateName","undefined or null");if(!k.validateMaxLength(this.scopeTemplateName,255))return new F("scopeTemplateName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.scopeTemplateName,1))return new F("scopeTemplateName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.scopeTemplateName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("scopeTemplateName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("scopeTemplateNameValues"===t){if(void 0===this.scopeTemplateNameValues||null===this.scopeTemplateNameValues)return new F("scopeTemplateNameValues","undefined or null");if(!k.validateMaxItems(this.scopeTemplateNameValues,10))return new F("scopeTemplateNameValues","does not satisfy required maxItems constraint: 10");if(!k.validateMinItems(this.scopeTemplateNameValues,1))return new F("scopeTemplateNameValues","does not satisfy required minItems constraint: 1")}if("identityType"===t&&(void 0===this.identityType||null===this.identityType))return new F("identityType","undefined or null");if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new F("identityExtId","undefined or null");if(!k.validateMaxLength(this.identityExtId,255))return new F("identityExtId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.identityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("identityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpExtId"===t){if(void 0===this.idpExtId||null===this.idpExtId)return new F("idpExtId","undefined or null");if(!k.validateMaxLength(this.idpExtId,255))return new F("idpExtId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.idpExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!k.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function zs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Gs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Bs.prototype.roleExtId=void 0,Bs.prototype.projectExtId="00000000-0000-0000-0000-000000000000",Bs.prototype.scopeTemplateName=void 0,Bs.prototype.scopeTemplateNameValues=void 0,Bs.prototype.identityType=void 0,Bs.prototype.identityExtId=void 0,Bs.prototype.idpExtId=void 0,Bs.prototype.createdBy=void 0,Bs.prototype.createdTime=void 0,Bs.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Vs=new WeakSet;class Hs extends Bs{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vs),t.add(e),this.$objectType="iam.v4.authz.RoleMembershipProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hs,Bs.constructFromObject(e,t,!0),e.hasOwnProperty("roleProjection")&&null!==e.roleProjection&&void 0!==e.roleProjection&&t.setRoleProjection(yi.constructFromObject(e.roleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoleProjection(){return this.roleProjection}setRoleProjection(e){this.roleProjection=e}toJson(e){return!1===e?{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Gs(Vs,this,Ys).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Gs(Vs,this,Ys).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getRoleProjection()&&null!==this.getRoleProjection()?{roleProjection:this.getRoleProjection().toJson(!1)}:{},...void 0!==this.getRoleExtId()&&null!==this.getRoleExtId()?{roleExtId:this.getRoleExtId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getScopeTemplateName()&&null!==this.getScopeTemplateName()?{scopeTemplateName:this.getScopeTemplateName()}:{},...void 0!==this.getScopeTemplateNameValues()&&null!==this.getScopeTemplateNameValues()?{scopeTemplateNameValues:this.getScopeTemplateNameValues().map(e=>e.toJson(!1))}:{},...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"roleProjection"!==t||void 0!==this.roleProjection&&null!==this.roleProjection?new F(t,"no such property exists"):new F("roleProjection","undefined or null")}}function Ys(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Xs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hs.prototype.roleProjection=void 0,Bs.prototype.roleExtId=void 0,Bs.prototype.projectExtId="00000000-0000-0000-0000-000000000000",Bs.prototype.scopeTemplateName=void 0,Bs.prototype.scopeTemplateNameValues=void 0,Bs.prototype.identityType=void 0,Bs.prototype.identityExtId=void 0,Bs.prototype.idpExtId=void 0,Bs.prototype.createdBy=void 0,Bs.prototype.createdTime=void 0,Bs.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Zs=new WeakSet;class Qs extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zs),t.add(e),this.$objectType="iam.v4.authz.ListRoleMembershipsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Qs,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.RoleMembership":s=Bs.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleMembershipProjection":s=Hs.constructFromObject(i[o],void 0),a.push(s);break;default:a.push(i[o])}t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Xs(Zs,this,er).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Xs(Zs,this,er).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function er(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Qs.prototype.metadata=void 0,Qs.prototype.data=void 0,Qs.prototype.$reserved=void 0,Qs.prototype.$objectType=void 0,Qs.prototype.$unknownFields=void 0;var tr=new WeakSet;class nr extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=tr),t.add(e),this.$objectType="iam.v4.authz.RoleMembershipSummary",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new nr,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("totalIdentitiesCount")&&null!==e.totalIdentitiesCount&&void 0!==e.totalIdentitiesCount&&t.setTotalIdentitiesCount(e.totalIdentitiesCount),e.hasOwnProperty("usersCount")&&null!==e.usersCount&&void 0!==e.usersCount&&t.setUsersCount(e.usersCount),e.hasOwnProperty("groupsCount")&&null!==e.groupsCount&&void 0!==e.groupsCount&&t.setGroupsCount(e.groupsCount),e.hasOwnProperty("rolesCount")&&null!==e.rolesCount&&void 0!==e.rolesCount&&t.setRolesCount(e.rolesCount),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTotalIdentitiesCount(){return this.totalIdentitiesCount}setTotalIdentitiesCount(e){this.totalIdentitiesCount=e}getUsersCount(){return this.usersCount}setUsersCount(e){this.usersCount=e}getGroupsCount(){return this.groupsCount}setGroupsCount(e){this.groupsCount=e}getRolesCount(){return this.rolesCount}setRolesCount(e){this.rolesCount=e}toJson(e){return!1===e?{...void 0!==this.getTotalIdentitiesCount()&&null!==this.getTotalIdentitiesCount()?{totalIdentitiesCount:this.getTotalIdentitiesCount()}:{},...void 0!==this.getUsersCount()&&null!==this.getUsersCount()?{usersCount:this.getUsersCount()}:{},...void 0!==this.getGroupsCount()&&null!==this.getGroupsCount()?{groupsCount:this.getGroupsCount()}:{},...void 0!==this.getRolesCount()&&null!==this.getRolesCount()?{rolesCount:this.getRolesCount()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"totalIdentitiesCount"!==t||void 0!==this.totalIdentitiesCount&&null!==this.totalIdentitiesCount?"usersCount"!==t||void 0!==this.usersCount&&null!==this.usersCount?"groupsCount"!==t||void 0!==this.groupsCount&&null!==this.groupsCount?"rolesCount"!==t||void 0!==this.rolesCount&&null!==this.rolesCount?new F(t,"no such property exists"):new F("rolesCount","undefined or null"):new F("groupsCount","undefined or null"):new F("usersCount","undefined or null"):new F("totalIdentitiesCount","undefined or null")}}function ir(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}nr.prototype.totalIdentitiesCount=void 0,nr.prototype.usersCount=void 0,nr.prototype.groupsCount=void 0,nr.prototype.rolesCount=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var sr=new WeakSet;class rr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=sr),t.add(e),this.$objectType="iam.v4.authz.ListRoleMembershipSummariesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new rr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authz.RoleMembershipSummary"===d?(s=nr.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ir(sr,this,or).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ir(sr,this,or).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function or(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ar(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rr.prototype.metadata=void 0,rr.prototype.data=void 0,rr.prototype.$reserved=void 0,rr.prototype.$objectType=void 0,rr.prototype.$unknownFields=void 0;var dr=new WeakSet;class lr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dr),t.add(e),this.$objectType="iam.v4.authz.GetRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new lr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.RoleMembership":t.setData(Bs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleMembershipProjection":t.setData(Hs.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ar(dr,this,hr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ar(dr,this,hr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function hr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ur(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lr.prototype.metadata=void 0,lr.prototype.data=void 0,lr.prototype.$reserved=void 0,lr.prototype.$objectType=void 0,lr.prototype.$unknownFields=void 0;var cr=new WeakSet;class pr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=cr),t.add(e),this.$objectType="iam.v4.authz.CreateRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new pr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.RoleMembership":t.setData(Bs.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleMembershipProjection":t.setData(Hs.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ur(cr,this,yr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ur(cr,this,yr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function yr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function gr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pr.prototype.metadata=void 0,pr.prototype.data=void 0,pr.prototype.$reserved=void 0,pr.prototype.$objectType=void 0,pr.prototype.$unknownFields=void 0;var vr=new WeakSet;class mr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vr),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleMembershipApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new mr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):gr(vr,this,$r).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):gr(vr,this,$r).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function $r(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function wr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mr.prototype.metadata=void 0,mr.prototype.data=void 0,mr.prototype.$reserved=void 0,mr.prototype.$objectType=void 0,mr.prototype.$unknownFields=void 0;var fr=new WeakSet;class br extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=fr),t.add(e),this.$objectType="iam.v4.authz.DeleteRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new br,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wr(fr,this,Tr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wr(fr,this,Tr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Tr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}br.prototype.metadata=void 0,br.prototype.data=void 0,br.prototype.$reserved=void 0,br.prototype.$objectType=void 0,br.prototype.$unknownFields=void 0;var kr=new WeakSet;class Fr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=kr),t.add(e),this.$objectType="iam.v4.authz.CreateRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Fr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleProjection":t.setData(yi.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):jr(kr,this,Or).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):jr(kr,this,Or).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Or(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Er(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fr.prototype.metadata=void 0,Fr.prototype.data=void 0,Fr.prototype.$reserved=void 0,Fr.prototype.$objectType=void 0,Fr.prototype.$unknownFields=void 0;var Ir=new WeakSet;class Pr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ir),t.add(e),this.$objectType="iam.v4.authz.GetRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Pr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authz.Role":t.setData(ci.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"iam.v4.authz.RoleProjection":t.setData(yi.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Er(Ir,this,Ar).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Er(Ir,this,Ar).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pr.prototype.metadata=void 0,Pr.prototype.data=void 0,Pr.prototype.$reserved=void 0,Pr.prototype.$objectType=void 0,Pr.prototype.$unknownFields=void 0;var Dr=new WeakSet;class Ur extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dr),t.add(e),this.$objectType="iam.v4.authz.ListRolesApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ur,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)switch(d){case"iam.v4.authz.Role":s=ci.constructFromObject(i[o],void 0),a.push(s);break;case"iam.v4.authz.RoleProjection":s=yi.constructFromObject(i[o],void 0),a.push(s);break;default:a.push(i[o])}t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cr(Dr,this,Nr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cr(Dr,this,Nr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Nr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Sr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ur.prototype.metadata=void 0,Ur.prototype.data=void 0,Ur.prototype.$reserved=void 0,Ur.prototype.$objectType=void 0,Ur.prototype.$unknownFields=void 0;var Rr=new WeakSet;class xr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Rr),t.add(e),this.$objectType="iam.v4.authz.UpdateRoleApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new xr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"common.v1.config.Message":t.setData(M.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Sr(Rr,this,Lr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Sr(Rr,this,Lr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Lr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}xr.prototype.metadata=void 0,xr.prototype.data=void 0,xr.prototype.$reserved=void 0,xr.prototype.$objectType=void 0,xr.prototype.$unknownFields=void 0;class Mr extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mr,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var _r=new WeakSet;class Wr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_r),t.add(e),this.$objectType="iam.v4.authn.UnshareSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProviderUnshareResponse":t.setData(Mr.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jr(_r,this,Kr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jr(_r,this,Kr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Kr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function qr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Wr.prototype.metadata=void 0,Wr.prototype.data=void 0,Wr.prototype.$reserved=void 0,Wr.prototype.$objectType=void 0,Wr.prototype.$unknownFields=void 0;var Br=new WeakSet;class zr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Br),t.add(e),this.$objectType="iam.v4.authn.DeleteSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new zr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):qr(Br,this,Gr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):qr(Br,this,Gr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Gr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}zr.prototype.metadata=void 0,zr.prototype.data=void 0,zr.prototype.$reserved=void 0,zr.prototype.$objectType=void 0,zr.prototype.$unknownFields=void 0;var Vr=new WeakSet;class Hr{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Vr),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.SamlIdentityProviderShareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hr,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Yr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hr.prototype.projectExtId=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var Xr=new WeakSet;class Zr extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Xr),t.add(e),this.$objectType="iam.v4.authn.GetSamlSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zr,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":default:t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Yr(Xr,this,Qr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Yr(Xr,this,Qr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Qr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Zr.prototype.metadata=void 0,Zr.prototype.data=void 0,Zr.prototype.$reserved=void 0,Zr.prototype.$objectType=void 0,Zr.prototype.$unknownFields=void 0;class eo extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new eo,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function to(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var no=new WeakSet;class io extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=no),t.add(e),this.$objectType="iam.v4.authn.UnshareAllSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new io,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProviderUnshareAllResponse":t.setData(eo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):to(no,this,so).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):to(no,this,so).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function so(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}io.prototype.metadata=void 0,io.prototype.data=void 0,io.prototype.$reserved=void 0,io.prototype.$objectType=void 0,io.prototype.$unknownFields=void 0;const ro={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",EMAILADDRESS:"emailAddress",UNSPECIFIED:"unspecified",X509SUBJECTNAME:"X509SubjectName",WINDOWSDOMAINQUALIFIEDNAME:"WindowsDomainQualifiedName",ENCRYPTED:"encrypted",ENTITY:"entity",KERBEROS:"kerberos",PERSISTENT:"persistent",TRANSIENT:"transient",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ro).find(t=>ro[t]===e);return null==t?ro.$UNKNOWN:ro[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ro.$UNKNOWN:case ro.$REDACTED:case ro.EMAILADDRESS:case ro.UNSPECIFIED:case ro.X509SUBJECTNAME:case ro.WINDOWSDOMAINQUALIFIEDNAME:case ro.ENCRYPTED:case ro.ENTITY:case ro.KERBEROS:case ro.PERSISTENT:case ro.TRANSIENT:return;default:throw new Error("Invalid : must be NameIdPolicyFormat.{ $UNKNOWN|$REDACTED|EMAILADDRESS|UNSPECIFIED|X509SUBJECTNAME|WINDOWSDOMAINQUALIFIEDNAME|ENCRYPTED|ENTITY|KERBEROS|PERSISTENT|TRANSIENT }")}}};Object.freeze(ro);const oo=ro;var ao=new WeakSet;class lo{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=ao),s.add(i),this.entityId=e,this.loginUrl=t,this.certificate=n,this.$objectType="iam.v4.authn.IdpMetadata",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lo,e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("loginUrl")&&null!==e.loginUrl&&void 0!==e.loginUrl&&t.setLoginUrl(e.loginUrl),e.hasOwnProperty("logoutUrl")&&null!==e.logoutUrl&&void 0!==e.logoutUrl&&t.setLogoutUrl(e.logoutUrl),e.hasOwnProperty("errorUrl")&&null!==e.errorUrl&&void 0!==e.errorUrl&&t.setErrorUrl(e.errorUrl),e.hasOwnProperty("certificate")&&null!==e.certificate&&void 0!==e.certificate&&t.setCertificate(e.certificate),e.hasOwnProperty("nameIdPolicyFormat")&&null!==e.nameIdPolicyFormat&&void 0!==e.nameIdPolicyFormat&&t.setNameIdPolicyFormat(oo.constructFromObject(e.nameIdPolicyFormat)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getLoginUrl(){return this.loginUrl}setLoginUrl(e){this.loginUrl=e}getLogoutUrl(){return this.logoutUrl}setLogoutUrl(e){this.logoutUrl=e}getErrorUrl(){return this.errorUrl}setErrorUrl(e){this.errorUrl=e}getCertificate(){return this.certificate}setCertificate(e){this.certificate=e}getNameIdPolicyFormat(){return this.nameIdPolicyFormat}setNameIdPolicyFormat(e){this.nameIdPolicyFormat=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getLoginUrl()&&null!==this.getLoginUrl()?{loginUrl:this.getLoginUrl()}:{},...void 0!==this.getLogoutUrl()&&null!==this.getLogoutUrl()?{logoutUrl:this.getLogoutUrl()}:{},...void 0!==this.getErrorUrl()&&null!==this.getErrorUrl()?{errorUrl:this.getErrorUrl()}:{},...void 0!==this.getCertificate()&&null!==this.getCertificate()?{certificate:this.getCertificate()}:{},...void 0!==this.getNameIdPolicyFormat()&&null!==this.getNameIdPolicyFormat()?{nameIdPolicyFormat:this.getNameIdPolicyFormat()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["entityId","loginUrl","certificate"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!k.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("loginUrl"===t){if(void 0===this.loginUrl||null===this.loginUrl)return new F("loginUrl","undefined or null");if(!k.validateMaxLength(this.loginUrl,2e3))return new F("loginUrl","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.loginUrl,3))return new F("loginUrl","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.loginUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("loginUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("logoutUrl"===t){if(void 0===this.logoutUrl||null===this.logoutUrl)return new F("logoutUrl","undefined or null");if(!k.validateMaxLength(this.logoutUrl,2e3))return new F("logoutUrl","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.logoutUrl,3))return new F("logoutUrl","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.logoutUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("logoutUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("errorUrl"===t){if(void 0===this.errorUrl||null===this.errorUrl)return new F("errorUrl","undefined or null");if(!k.validateMaxLength(this.errorUrl,2e3))return new F("errorUrl","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.errorUrl,3))return new F("errorUrl","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.errorUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("errorUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("certificate"===t){if(void 0===this.certificate||null===this.certificate)return new F("certificate","undefined or null");if(!k.validateMinLength(this.certificate,64))return new F("certificate","does not satisfy required minLength constraint: 64")}return"nameIdPolicyFormat"!==t||void 0!==this.nameIdPolicyFormat&&null!==this.nameIdPolicyFormat?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nameIdPolicyFormat","undefined or null")}}function ho(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lo.prototype.entityId=void 0,lo.prototype.loginUrl=void 0,lo.prototype.logoutUrl=void 0,lo.prototype.errorUrl=void 0,lo.prototype.certificate=void 0,lo.prototype.nameIdPolicyFormat=void 0,lo.prototype.$reserved=void 0,lo.prototype.$objectType=void 0,lo.prototype.$unknownFields=void 0;var uo=new WeakSet;class co{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=uo),t.add(e),this.$objectType="iam.v4.authn.SamlSigningCredential",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new co,e.hasOwnProperty("publicCertificate")&&null!==e.publicCertificate&&void 0!==e.publicCertificate&&t.setPublicCertificate(e.publicCertificate),e.hasOwnProperty("privateKey")&&null!==e.privateKey&&void 0!==e.privateKey&&t.setPrivateKey(e.privateKey),e.hasOwnProperty("certActivationDate")&&null!==e.certActivationDate&&void 0!==e.certActivationDate&&t.setCertActivationDate(e.certActivationDate),e.hasOwnProperty("certExpiryDate")&&null!==e.certExpiryDate&&void 0!==e.certExpiryDate&&t.setCertExpiryDate(e.certExpiryDate),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPublicCertificate(){return this.publicCertificate}setPublicCertificate(e){this.publicCertificate=e}getPrivateKey(){return this.privateKey}setPrivateKey(e){this.privateKey=e}getCertActivationDate(){return this.certActivationDate}setCertActivationDate(e){this.certActivationDate=e}getCertExpiryDate(){return this.certExpiryDate}setCertExpiryDate(e){this.certExpiryDate=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getPublicCertificate()&&null!==this.getPublicCertificate()?{publicCertificate:this.getPublicCertificate()}:{},...void 0!==this.getPrivateKey()&&null!==this.getPrivateKey()?{privateKey:this.getPrivateKey()}:{},...void 0!==this.getCertActivationDate()&&null!==this.getCertActivationDate()?{certActivationDate:ho(uo,this,po).call(this,this.getCertActivationDate(),!1)}:{},...void 0!==this.getCertExpiryDate()&&null!==this.getCertExpiryDate()?{certExpiryDate:ho(uo,this,po).call(this,this.getCertExpiryDate(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getPublicCertificate()&&null!==this.getPublicCertificate()?{publicCertificate:this.getPublicCertificate()}:{},...void 0!==this.getPrivateKey()&&null!==this.getPrivateKey()?{privateKey:this.getPrivateKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("publicCertificate"===t){if(void 0===this.publicCertificate||null===this.publicCertificate)return new F("publicCertificate","undefined or null");if(!k.validateMinLength(this.publicCertificate,64))return new F("publicCertificate","does not satisfy required minLength constraint: 64");if(!k.validatePattern(this.publicCertificate,/^-----BEGIN CERTIFICATE-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END CERTIFICATE-----$/))return new F("publicCertificate","does not satisfy required pattern: /^-----BEGIN CERTIFICATE-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END CERTIFICATE-----$/")}if("privateKey"===t){if(void 0===this.privateKey||null===this.privateKey)return new F("privateKey","undefined or null");if(!k.validateMaxLength(this.privateKey,3400))return new F("privateKey","does not satisfy required maxLength constraint: 3400");if(!k.validateMinLength(this.privateKey,1600))return new F("privateKey","does not satisfy required minLength constraint: 1600");if(!k.validatePattern(this.privateKey,/^(-----BEGIN PRIVATE KEY-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END PRIVATE KEY-----|-----BEGIN RSA PRIVATE KEY-----\\s+[A-Za-z0-9+\/=\\s]+\\s+-----END RSA PRIVATE KEY-----)$/))return new F("privateKey","does not satisfy required pattern: /^(-----BEGIN PRIVATE KEY-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END PRIVATE KEY-----|-----BEGIN RSA PRIVATE KEY-----\\s+[A-Za-z0-9+/=\\s]+\\s+-----END RSA PRIVATE KEY-----)$/")}return"certActivationDate"!==t||void 0!==this.certActivationDate&&null!==this.certActivationDate?"certExpiryDate"!==t||void 0!==this.certExpiryDate&&null!==this.certExpiryDate?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("certExpiryDate","undefined or null"):new F("certActivationDate","undefined or null")}}function po(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function yo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}co.prototype.publicCertificate=void 0,co.prototype.privateKey=void 0,co.prototype.certActivationDate=void 0,co.prototype.certExpiryDate=void 0,co.prototype.$reserved=void 0,co.prototype.$objectType=void 0,co.prototype.$unknownFields=void 0;var go=new WeakSet;class vo extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=go),t.add(e),this.$objectType="iam.v4.authn.SamlIdentityProvider",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vo,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("idpMetadataUrl")&&null!==e.idpMetadataUrl&&void 0!==e.idpMetadataUrl&&t.setIdpMetadataUrl(e.idpMetadataUrl),e.hasOwnProperty("idpMetadataXml")&&null!==e.idpMetadataXml&&void 0!==e.idpMetadataXml&&t.setIdpMetadataXml(e.idpMetadataXml),e.hasOwnProperty("idpMetadata")&&null!==e.idpMetadata&&void 0!==e.idpMetadata&&t.setIdpMetadata(lo.constructFromObject(e.idpMetadata)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("usernameAttribute")&&null!==e.usernameAttribute&&void 0!==e.usernameAttribute&&t.setUsernameAttribute(e.usernameAttribute),e.hasOwnProperty("emailAttribute")&&null!==e.emailAttribute&&void 0!==e.emailAttribute&&t.setEmailAttribute(e.emailAttribute),e.hasOwnProperty("groupsAttribute")&&null!==e.groupsAttribute&&void 0!==e.groupsAttribute&&t.setGroupsAttribute(e.groupsAttribute),e.hasOwnProperty("groupsDelim")&&null!==e.groupsDelim&&void 0!==e.groupsDelim&&t.setGroupsDelim(e.groupsDelim),e.hasOwnProperty("redirectURL")&&null!==e.redirectURL&&void 0!==e.redirectURL&&t.setRedirectURL(e.redirectURL),e.hasOwnProperty("customAttributes")&&null!==e.customAttributes&&void 0!==e.customAttributes){for(r=[],i=e.customAttributes,s=0;s<i.length;s++)r.push(i[s]);t.setCustomAttributes(r)}if(e.hasOwnProperty("entityIssuer")&&null!==e.entityIssuer&&void 0!==e.entityIssuer&&t.setEntityIssuer(e.entityIssuer),e.hasOwnProperty("isSignedAuthnReqEnabled")&&null!==e.isSignedAuthnReqEnabled&&void 0!==e.isSignedAuthnReqEnabled&&t.setIsSignedAuthnReqEnabled(e.isSignedAuthnReqEnabled),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("requestSigningCredential")&&null!==e.requestSigningCredential&&void 0!==e.requestSigningCredential&&t.setRequestSigningCredential(co.constructFromObject(e.requestSigningCredential)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdpMetadataUrl(){return this.idpMetadataUrl}setIdpMetadataUrl(e){this.idpMetadataUrl=e}getIdpMetadataXml(){return this.idpMetadataXml}setIdpMetadataXml(e){this.idpMetadataXml=e}getIdpMetadata(){return this.idpMetadata}setIdpMetadata(e){this.idpMetadata=e}getName(){return this.name}setName(e){this.name=e}getUsernameAttribute(){return this.usernameAttribute}setUsernameAttribute(e){this.usernameAttribute=e}getEmailAttribute(){return this.emailAttribute}setEmailAttribute(e){this.emailAttribute=e}getGroupsAttribute(){return this.groupsAttribute}setGroupsAttribute(e){this.groupsAttribute=e}getGroupsDelim(){return this.groupsDelim}setGroupsDelim(e){this.groupsDelim=e}getRedirectURL(){return this.redirectURL}setRedirectURL(e){this.redirectURL=e}getCustomAttributes(){return this.customAttributes}setCustomAttributes(e){this.customAttributes=e}getEntityIssuer(){return this.entityIssuer}setEntityIssuer(e){this.entityIssuer=e}getIsSignedAuthnReqEnabled(){return this.isSignedAuthnReqEnabled}setIsSignedAuthnReqEnabled(e){this.isSignedAuthnReqEnabled=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getRequestSigningCredential(){return this.requestSigningCredential}setRequestSigningCredential(e){this.requestSigningCredential=e}toJson(e){return!1===e?{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yo(go,this,mo).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yo(go,this,mo).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getRequestSigningCredential()&&null!==this.getRequestSigningCredential()?{requestSigningCredential:this.getRequestSigningCredential().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIdpMetadataUrl()&&null!==this.getIdpMetadataUrl()?{idpMetadataUrl:this.getIdpMetadataUrl()}:{},...void 0!==this.getIdpMetadataXml()&&null!==this.getIdpMetadataXml()?{idpMetadataXml:this.getIdpMetadataXml()}:{},...void 0!==this.getIdpMetadata()&&null!==this.getIdpMetadata()?{idpMetadata:this.getIdpMetadata().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUsernameAttribute()&&null!==this.getUsernameAttribute()?{usernameAttribute:this.getUsernameAttribute()}:{},...void 0!==this.getEmailAttribute()&&null!==this.getEmailAttribute()?{emailAttribute:this.getEmailAttribute()}:{},...void 0!==this.getGroupsAttribute()&&null!==this.getGroupsAttribute()?{groupsAttribute:this.getGroupsAttribute()}:{},...void 0!==this.getGroupsDelim()&&null!==this.getGroupsDelim()?{groupsDelim:this.getGroupsDelim()}:{},...void 0!==this.getRedirectURL()&&null!==this.getRedirectURL()?{redirectURL:this.getRedirectURL()}:{},...void 0!==this.getCustomAttributes()&&null!==this.getCustomAttributes()?{customAttributes:this.getCustomAttributes()}:{},...void 0!==this.getEntityIssuer()&&null!==this.getEntityIssuer()?{entityIssuer:this.getEntityIssuer()}:{},...void 0!==this.getIsSignedAuthnReqEnabled()&&null!==this.getIsSignedAuthnReqEnabled()?{isSignedAuthnReqEnabled:this.getIsSignedAuthnReqEnabled()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getRequestSigningCredential()&&null!==this.getRequestSigningCredential()?{requestSigningCredential:this.getRequestSigningCredential().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("idpMetadataUrl"===t){if(void 0===this.idpMetadataUrl||null===this.idpMetadataUrl)return new F("idpMetadataUrl","undefined or null");if(!k.validateMaxLength(this.idpMetadataUrl,2e3))return new F("idpMetadataUrl","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.idpMetadataUrl,3))return new F("idpMetadataUrl","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.idpMetadataUrl,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("idpMetadataUrl","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpMetadataXml"===t){if(void 0===this.idpMetadataXml||null===this.idpMetadataXml)return new F("idpMetadataXml","undefined or null");if(!k.validateMinLength(this.idpMetadataXml,3))return new F("idpMetadataXml","does not satisfy required minLength constraint: 3")}if("idpMetadata"===t&&(void 0===this.idpMetadata||null===this.idpMetadata))return new F("idpMetadata","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("usernameAttribute"===t){if(void 0===this.usernameAttribute||null===this.usernameAttribute)return new F("usernameAttribute","undefined or null");if(!k.validateMaxLength(this.usernameAttribute,256))return new F("usernameAttribute","does not satisfy required maxLength constraint: 256");if(!k.validateMinLength(this.usernameAttribute,1))return new F("usernameAttribute","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.usernameAttribute,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("usernameAttribute","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailAttribute"===t){if(void 0===this.emailAttribute||null===this.emailAttribute)return new F("emailAttribute","undefined or null");if(!k.validateMaxLength(this.emailAttribute,256))return new F("emailAttribute","does not satisfy required maxLength constraint: 256");if(!k.validateMinLength(this.emailAttribute,3))return new F("emailAttribute","does not satisfy required minLength constraint: 3")}if("groupsAttribute"===t){if(void 0===this.groupsAttribute||null===this.groupsAttribute)return new F("groupsAttribute","undefined or null");if(!k.validateMaxLength(this.groupsAttribute,256))return new F("groupsAttribute","does not satisfy required maxLength constraint: 256");if(!k.validateMinLength(this.groupsAttribute,3))return new F("groupsAttribute","does not satisfy required minLength constraint: 3")}if("groupsDelim"===t){if(void 0===this.groupsDelim||null===this.groupsDelim)return new F("groupsDelim","undefined or null");if(!k.validateMaxLength(this.groupsDelim,3))return new F("groupsDelim","does not satisfy required maxLength constraint: 3");if(!k.validateMinLength(this.groupsDelim,1))return new F("groupsDelim","does not satisfy required minLength constraint: 1")}if("redirectURL"===t){if(void 0===this.redirectURL||null===this.redirectURL)return new F("redirectURL","undefined or null");if(!k.validateMaxLength(this.redirectURL,2e3))return new F("redirectURL","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.redirectURL,3))return new F("redirectURL","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.redirectURL,/^((http[s]?):\/)?\/?(\\[[a-fA-F0-9:]+\\]|[^:\/\\s]+)(:[0-9]+)?$/))return new F("redirectURL","does not satisfy required pattern: /^((http[s]?):/)?/?(\\[[a-fA-F0-9:]+\\]|[^:/\\s]+)(:[0-9]+)?$/")}if("customAttributes"===t){if(void 0===this.customAttributes||null===this.customAttributes)return new F("customAttributes","undefined or null");if(!k.validateMaxItems(this.customAttributes,25))return new F("customAttributes","does not satisfy required maxItems constraint: 25")}if("entityIssuer"===t){if(void 0===this.entityIssuer||null===this.entityIssuer)return new F("entityIssuer","undefined or null");if(!k.validateMaxLength(this.entityIssuer,2e3))return new F("entityIssuer","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.entityIssuer,3))return new F("entityIssuer","does not satisfy required minLength constraint: 3")}if("isSignedAuthnReqEnabled"===t&&(void 0===this.isSignedAuthnReqEnabled||null===this.isSignedAuthnReqEnabled))return new F("isSignedAuthnReqEnabled","undefined or null");if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?"requestSigningCredential"!==t||void 0!==this.requestSigningCredential&&null!==this.requestSigningCredential?new F(t,"no such property exists"):new F("requestSigningCredential","undefined or null"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("sharedWithProjects","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function mo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vo.prototype.idpMetadataUrl=void 0,vo.prototype.idpMetadataXml=void 0,vo.prototype.idpMetadata=void 0,vo.prototype.name=void 0,vo.prototype.usernameAttribute="name",vo.prototype.emailAttribute="email",vo.prototype.groupsAttribute=void 0,vo.prototype.groupsDelim=void 0,vo.prototype.redirectURL=void 0,vo.prototype.customAttributes=void 0,vo.prototype.entityIssuer=void 0,vo.prototype.isSignedAuthnReqEnabled=void 0,vo.prototype.projectExtId=void 0,vo.prototype.isSharedWithAllProjects=void 0,vo.prototype.sharedWithProjects=void 0,vo.prototype.createdTime=void 0,vo.prototype.lastUpdatedTime=void 0,vo.prototype.createdBy=void 0,vo.prototype.requestSigningCredential=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var $o=new WeakSet;class wo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=$o),n.add(t),this.projectExtId=e,this.$objectType="iam.v4.authn.SamlIdentityProviderUnshareRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wo,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["projectExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}wo.prototype.projectExtId=void 0,wo.prototype.$reserved=void 0,wo.prototype.$objectType=void 0,wo.prototype.$unknownFields=void 0;class fo extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderShareAllResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fo,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function bo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var To=new WeakSet;class jo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=To),t.add(e),this.$objectType="iam.v4.authn.ShareAllSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new jo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProviderShareAllResponse":t.setData(fo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):bo(To,this,ko).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):bo(To,this,ko).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ko(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Fo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}jo.prototype.metadata=void 0,jo.prototype.data=void 0,jo.prototype.$reserved=void 0,jo.prototype.$objectType=void 0,jo.prototype.$unknownFields=void 0;var Oo=new WeakSet;class Eo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Oo),t.add(e),this.$objectType="iam.v4.authn.UpdateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Eo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(vo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Fo(Oo,this,Io).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Fo(Oo,this,Io).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Io(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Po(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Eo.prototype.metadata=void 0,Eo.prototype.data=void 0,Eo.prototype.$reserved=void 0,Eo.prototype.$objectType=void 0,Eo.prototype.$unknownFields=void 0;var Ao=new WeakSet;class Co extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ao),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Co,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(vo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Po(Ao,this,Do).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Po(Ao,this,Do).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Do(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Co.prototype.metadata=void 0,Co.prototype.data=void 0,Co.prototype.$reserved=void 0,Co.prototype.$objectType=void 0,Co.prototype.$unknownFields=void 0;class Uo extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.SamlIdentityProviderShareResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Uo,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function No(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var So=new WeakSet;class Ro extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=So),t.add(e),this.$objectType="iam.v4.authn.ShareSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ro,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProviderShareResponse":t.setData(Uo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):No(So,this,xo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):No(So,this,xo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function xo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Lo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ro.prototype.metadata=void 0,Ro.prototype.data=void 0,Ro.prototype.$reserved=void 0,Ro.prototype.$objectType=void 0,Ro.prototype.$unknownFields=void 0;var Mo=new WeakSet;class Jo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Mo),t.add(e),this.$objectType="iam.v4.authn.CreateSamlIdentityProviderApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Jo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.SamlIdentityProvider":t.setData(vo.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Lo(Mo,this,_o).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Lo(Mo,this,_o).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function _o(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Wo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Jo.prototype.metadata=void 0,Jo.prototype.data=void 0,Jo.prototype.$reserved=void 0,Jo.prototype.$objectType=void 0,Jo.prototype.$unknownFields=void 0;var Ko=new WeakSet;class qo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ko),t.add(e),this.$objectType="iam.v4.authn.ListSamlIdentityProvidersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new qo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.SamlIdentityProvider"===d?(s=vo.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Wo(Ko,this,Bo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Wo(Ko,this,Bo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Bo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function zo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}qo.prototype.metadata=void 0,qo.prototype.data=void 0,qo.prototype.$reserved=void 0,qo.prototype.$objectType=void 0,qo.prototype.$unknownFields=void 0;var Go=new WeakSet;class Vo extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Go),t.add(e),this.$objectType="iam.v4.authn.GetSamlIdpSpMetadataApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Vo,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"ByteArray":default:t.setData(e.data);break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):zo(Go,this,Ho).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):zo(Go,this,Ho).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ho(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Vo.prototype.metadata=void 0,Vo.prototype.data=void 0,Vo.prototype.$reserved=void 0,Vo.prototype.$objectType=void 0,Vo.prototype.$unknownFields=void 0;const Yo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SAML:"SAML",LDAP:"LDAP",PROPAGATED:"PROPAGATED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Yo).find(t=>Yo[t]===e);return null==t?Yo.$UNKNOWN:Yo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Yo.$UNKNOWN:case Yo.$REDACTED:case Yo.SAML:case Yo.LDAP:case Yo.PROPAGATED:return;default:throw new Error("Invalid : must be GroupType.{ $UNKNOWN|$REDACTED|SAML|LDAP|PROPAGATED }")}}};Object.freeze(Yo);const Xo=Yo;function Zo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Qo=new WeakSet;class ea extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Qo),t.add(e),this.$objectType="iam.v4.authn.UserGroup",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ea,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("groupType")&&null!==e.groupType&&void 0!==e.groupType&&t.setGroupType(Xo.constructFromObject(e.groupType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("distinguishedName")&&null!==e.distinguishedName&&void 0!==e.distinguishedName&&t.setDistinguishedName(e.distinguishedName),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGroupType(){return this.groupType}setGroupType(e){this.groupType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getName(){return this.name}setName(e){this.name=e}getDistinguishedName(){return this.distinguishedName}setDistinguishedName(e){this.distinguishedName=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Zo(Qo,this,ta).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Zo(Qo,this,ta).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getGroupType()&&null!==this.getGroupType()?{groupType:this.getGroupType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDistinguishedName()&&null!==this.getDistinguishedName()?{distinguishedName:this.getDistinguishedName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("groupType"===t&&(void 0===this.groupType||null===this.groupType))return new F("groupType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!k.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255")}if("distinguishedName"===t){if(void 0===this.distinguishedName||null===this.distinguishedName)return new F("distinguishedName","undefined or null");if(!k.validateMaxLength(this.distinguishedName,255))return new F("distinguishedName","does not satisfy required maxLength constraint: 255")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null")}}function ta(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function na(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ea.prototype.groupType=void 0,ea.prototype.idpId=void 0,ea.prototype.name=void 0,ea.prototype.distinguishedName=void 0,ea.prototype.createdTime=void 0,ea.prototype.lastUpdatedTime=void 0,ea.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var ia=new WeakSet;class sa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ia),t.add(e),this.$objectType="iam.v4.authn.DeleteUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):na(ia,this,ra).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):na(ia,this,ra).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function oa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sa.prototype.metadata=void 0,sa.prototype.data=void 0,sa.prototype.$reserved=void 0,sa.prototype.$objectType=void 0,sa.prototype.$unknownFields=void 0;var aa=new WeakSet;class da extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=aa),t.add(e),this.$objectType="iam.v4.authn.ListUserGroupsApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new da,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.UserGroup"===d?(s=ea.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):oa(aa,this,la).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):oa(aa,this,la).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function la(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ha(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}da.prototype.metadata=void 0,da.prototype.data=void 0,da.prototype.$reserved=void 0,da.prototype.$objectType=void 0,da.prototype.$unknownFields=void 0;var ua=new WeakSet;class ca extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ua),t.add(e),this.$objectType="iam.v4.authn.CreateUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ca,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(ea.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ha(ua,this,pa).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ha(ua,this,pa).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function pa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function ya(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ca.prototype.metadata=void 0,ca.prototype.data=void 0,ca.prototype.$reserved=void 0,ca.prototype.$objectType=void 0,ca.prototype.$unknownFields=void 0;var ga=new WeakSet;class va extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ga),t.add(e),this.$objectType="iam.v4.authn.GetUserGroupApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new va,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserGroup":t.setData(ea.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ya(ga,this,ma).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ya(ga,this,ma).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function ma(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}va.prototype.metadata=void 0,va.prototype.data=void 0,va.prototype.$reserved=void 0,va.prototype.$objectType=void 0,va.prototype.$unknownFields=void 0;var $a=new WeakSet;class wa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=$a),t.add(e),this.$objectType="iam.v4.authn.ApiKeyDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wa,e.hasOwnProperty("apiKey")&&null!==e.apiKey&&void 0!==e.apiKey&&t.setApiKey(e.apiKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getApiKey(){return this.apiKey}setApiKey(e){this.apiKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getApiKey()&&null!==this.getApiKey()?{apiKey:this.getApiKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("apiKey"===t){if(void 0===this.apiKey||null===this.apiKey)return new F("apiKey","undefined or null");if(!k.validateMaxLength(this.apiKey,32))return new F("apiKey","does not satisfy required maxLength constraint: 32");if(!k.validateMinLength(this.apiKey,32))return new F("apiKey","does not satisfy required minLength constraint: 32")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}wa.prototype.apiKey=void 0,wa.prototype.$reserved=void 0,wa.prototype.$objectType=void 0,wa.prototype.$unknownFields=void 0;const fa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PREDEFINED:"PREDEFINED",USERDEFINED:"USERDEFINED",SERVICEDEFINED:"SERVICEDEFINED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fa).find(t=>fa[t]===e);return null==t?fa.$UNKNOWN:fa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fa.$UNKNOWN:case fa.$REDACTED:case fa.PREDEFINED:case fa.USERDEFINED:case fa.SERVICEDEFINED:return;default:throw new Error("Invalid : must be CreationType.{ $UNKNOWN|$REDACTED|PREDEFINED|USERDEFINED|SERVICEDEFINED }")}}};Object.freeze(fa);const ba=fa,Ta={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",API_KEY:"API_KEY",OBJECT_KEY:"OBJECT_KEY",PRIVATE_KEY:"PRIVATE_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ta).find(t=>Ta[t]===e);return null==t?Ta.$UNKNOWN:Ta[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ta.$UNKNOWN:case Ta.$REDACTED:case Ta.API_KEY:case Ta.OBJECT_KEY:case Ta.PRIVATE_KEY:return;default:throw new Error("Invalid : must be KeyKind.{ $UNKNOWN|$REDACTED|API_KEY|OBJECT_KEY|PRIVATE_KEY }")}}};Object.freeze(Ta);const ja=Ta,ka={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ka).find(t=>ka[t]===e);return null==t?ka.$UNKNOWN:ka[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ka.$UNKNOWN:case ka.$REDACTED:case ka.VALID:case ka.REVOKED:case ka.EXPIRED:return;default:throw new Error("Invalid : must be KeyStatus.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(ka);const Fa=ka;var Oa=new WeakSet;class Ea{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Oa),t.add(e),this.$objectType="iam.v4.authn.ObjectKeyDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ea,e.hasOwnProperty("secretKey")&&null!==e.secretKey&&void 0!==e.secretKey&&t.setSecretKey(e.secretKey),e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretKey(){return this.secretKey}setSecretKey(e){this.secretKey=e}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretKey()&&null!==this.getSecretKey()?{secretKey:this.getSecretKey()}:{},...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretKey"===t){if(void 0===this.secretKey||null===this.secretKey)return new F("secretKey","undefined or null");if(!k.validateMaxLength(this.secretKey,24))return new F("secretKey","does not satisfy required maxLength constraint: 24");if(!k.validateMinLength(this.secretKey,24))return new F("secretKey","does not satisfy required minLength constraint: 24")}if("accessKey"===t){if(void 0===this.accessKey||null===this.accessKey)return new F("accessKey","undefined or null");if(!k.validateMaxLength(this.accessKey,24))return new F("accessKey","does not satisfy required maxLength constraint: 24");if(!k.validateMinLength(this.accessKey,24))return new F("accessKey","does not satisfy required minLength constraint: 24")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Ia(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ea.prototype.secretKey=void 0,Ea.prototype.accessKey=void 0,Ea.prototype.$reserved=void 0,Ea.prototype.$objectType=void 0,Ea.prototype.$unknownFields=void 0;var Pa=new WeakSet;class Aa extends Xe{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Pa),i.add(n),this.name=e,this.keyType=t,this.$objectType="iam.v4.authn.Key",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Aa,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("keyType")&&null!==e.keyType&&void 0!==e.keyType&&t.setKeyType(ja.constructFromObject(e.keyType)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(ba.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Fa.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("lastUsedTime")&&null!==e.lastUsedTime&&void 0!==e.lastUsedTime&&t.setLastUsedTime(e.lastUsedTime),e.hasOwnProperty("keyDetails")&&null!==e.keyDetails&&void 0!==e.keyDetails)switch(i=e.keyDetails.hasOwnProperty("$objectType")?e.keyDetails.$objectType:typeof e.keyDetails,i){case"iam.v4.authn.ApiKeyDetails":t.setKeyDetails(wa.constructFromObject(e.keyDetails,void 0));break;case"iam.v4.authn.ObjectKeyDetails":t.setKeyDetails(Ea.constructFromObject(e.keyDetails,void 0));break;default:t.setKeyDetails(e.keyDetails)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getKeyType(){return this.keyType}setKeyType(e){this.keyType=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getLastUsedTime(){return this.lastUsedTime}setLastUsedTime(e){this.lastUsedTime=e}getKeyDetails(){return this.keyDetails}setKeyDetails(e){this.keyDetails=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ia(Pa,this,Da).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Ia(Pa,this,Da).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ia(Pa,this,Da).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getLastUsedTime()&&null!==this.getLastUsedTime()?{lastUsedTime:Ia(Pa,this,Da).call(this,this.getLastUsedTime(),!1)}:{},...void 0!==this.getKeyDetails()&&null!==this.getKeyDetails()?{keyDetails:void 0!==this.getKeyDetails().toJson?this.getKeyDetails().toJson(!1):Array.isArray(this.getKeyDetails())?this.getKeyDetails().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ia(Pa,this,Ca).call(this,this.getKeyDetails(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getKeyType()&&null!==this.getKeyType()?{keyType:this.getKeyType()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Ia(Pa,this,Da).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["name","keyType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000")}if("keyType"===t&&(void 0===this.keyType||null===this.keyType))return new F("keyType","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!k.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!k.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!k.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"lastUsedTime"!==t||void 0!==this.lastUsedTime&&null!==this.lastUsedTime?"keyDetails"!==t||void 0!==this.keyDetails&&null!==this.keyDetails?new F(t,"no such property exists"):new F("keyDetails","undefined or null"):new F("lastUsedTime","undefined or null")}}function Ca(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Da(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ua(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Aa.prototype.name=void 0,Aa.prototype.description=void 0,Aa.prototype.keyType=void 0,Aa.prototype.createdTime=void 0,Aa.prototype.lastUpdatedBy=void 0,Aa.prototype.creationType=void 0,Aa.prototype.expiryTime=void 0,Aa.prototype.status=void 0,Aa.prototype.createdBy=void 0,Aa.prototype.lastUpdatedTime=void 0,Aa.prototype.assignedTo=void 0,Aa.prototype.lastUsedTime=void 0,Aa.prototype.keyDetails=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Na=new WeakSet;class Sa extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Na),t.add(e),this.$objectType="iam.v4.authn.GetUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Sa,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Aa.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ua(Na,this,Ra).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ua(Na,this,Ra).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ra(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Sa.prototype.metadata=void 0,Sa.prototype.data=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;class xa extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordResetResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new xa,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function La(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ma=new WeakSet;class Ja extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ma),t.add(e),this.$objectType="iam.v4.authn.ResetUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ja,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordResetResponse":t.setData(xa.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):La(Ma,this,_a).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):La(Ma,this,_a).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function _a(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ja.prototype.metadata=void 0,Ja.prototype.data=void 0,Ja.prototype.$reserved=void 0,Ja.prototype.$objectType=void 0,Ja.prototype.$unknownFields=void 0;const Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ACTIVE:"ACTIVE",INACTIVE:"INACTIVE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wa).find(t=>Wa[t]===e);return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.ACTIVE:case Wa.INACTIVE:return;default:throw new Error("Invalid : must be UserStatusType.{ $UNKNOWN|$REDACTED|ACTIVE|INACTIVE }")}}};Object.freeze(Wa);const Ka=Wa;var qa=new WeakSet;class Ba{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=qa),n.add(t),this.status=e,this.$objectType="iam.v4.authn.UserStateUpdate",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ba,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ka.constructFromObject(e.status)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["status"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"status"!==t||void 0!==this.status&&null!==this.status?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("status","undefined or null")}}Ba.prototype.status=void 0,Ba.prototype.$reserved=void 0,Ba.prototype.$objectType=void 0,Ba.prototype.$unknownFields=void 0;class za extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.UserStateUpdateResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new za,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Ga(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Va=new WeakSet;class Ha extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Va),t.add(e),this.$objectType="iam.v4.authn.ActivateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ha,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.UserStateUpdateResponse":t.setData(za.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ga(Va,this,Ya).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ga(Va,this,Ya).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Ya(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ha.prototype.metadata=void 0,Ha.prototype.data=void 0,Ha.prototype.$reserved=void 0,Ha.prototype.$objectType=void 0,Ha.prototype.$unknownFields=void 0;const Xa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALID:"VALID",REVOKED:"REVOKED",EXPIRED:"EXPIRED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xa).find(t=>Xa[t]===e);return null==t?Xa.$UNKNOWN:Xa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xa.$UNKNOWN:case Xa.$REDACTED:case Xa.VALID:case Xa.REVOKED:case Xa.EXPIRED:return;default:throw new Error("Invalid : must be BucketsAccessKeyStatusType.{ $UNKNOWN|$REDACTED|VALID|REVOKED|EXPIRED }")}}};Object.freeze(Xa);const Za=Xa;function Qa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ed=new WeakSet;class td extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ed),n.add(t),this.accessKeyName=e,this.$objectType="iam.v4.authn.BucketsAccessKey",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new td,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("accessKeyName")&&null!==e.accessKeyName&&void 0!==e.accessKeyName&&t.setAccessKeyName(e.accessKeyName),e.hasOwnProperty("accessKeyId")&&null!==e.accessKeyId&&void 0!==e.accessKeyId&&t.setAccessKeyId(e.accessKeyId),e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(ba.constructFromObject(e.creationType)),e.hasOwnProperty("expiryTime")&&null!==e.expiryTime&&void 0!==e.expiryTime&&t.setExpiryTime(e.expiryTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Za.constructFromObject(e.status)),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKeyName(){return this.accessKeyName}setAccessKeyName(e){this.accessKeyName=e}getAccessKeyId(){return this.accessKeyId}setAccessKeyId(e){this.accessKeyId=e}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getExpiryTime(){return this.expiryTime}setExpiryTime(e){this.expiryTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAccessKeyId()&&null!==this.getAccessKeyId()?{accessKeyId:this.getAccessKeyId()}:{},...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Qa(ed,this,nd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Qa(ed,this,nd).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Qa(ed,this,nd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAccessKeyName()&&null!==this.getAccessKeyName()?{accessKeyName:this.getAccessKeyName()}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getExpiryTime()&&null!==this.getExpiryTime()?{expiryTime:Qa(ed,this,nd).call(this,this.getExpiryTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["accessKeyName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("accessKeyName"===t){if(void 0===this.accessKeyName||null===this.accessKeyName)return new F("accessKeyName","undefined or null");if(!k.validateMaxLength(this.accessKeyName,255))return new F("accessKeyName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.accessKeyName,1))return new F("accessKeyName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.accessKeyName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("accessKeyName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("accessKeyId"===t&&(void 0===this.accessKeyId||null===this.accessKeyId))return new F("accessKeyId","undefined or null");if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!k.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!k.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!k.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("expiryTime"===t&&(void 0===this.expiryTime||null===this.expiryTime))return new F("expiryTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!k.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null")}}function nd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}td.prototype.accessKeyName=void 0,td.prototype.accessKeyId=void 0,td.prototype.secretAccessKey=void 0,td.prototype.userId=void 0,td.prototype.createdTime=void 0,td.prototype.lastUpdatedBy=void 0,td.prototype.assignedTo=void 0,td.prototype.creationType=void 0,td.prototype.expiryTime=void 0,td.prototype.status=void 0,td.prototype.createdBy=void 0,td.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const id={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",SAML:"SAML",LDAP:"LDAP",EXTERNAL:"EXTERNAL",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",PROPAGATED:"PROPAGATED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(id).find(t=>id[t]===e);return null==t?id.$UNKNOWN:id[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case id.$UNKNOWN:case id.$REDACTED:case id.LOCAL:case id.SAML:case id.LDAP:case id.EXTERNAL:case id.SERVICE_ACCOUNT:case id.PROPAGATED:return;default:throw new Error("Invalid : must be UserType.{ $UNKNOWN|$REDACTED|LOCAL|SAML|LDAP|EXTERNAL|SERVICE_ACCOUNT|PROPAGATED }")}}};Object.freeze(id);const sd=id;function rd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var od=new WeakSet;class ad extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=od),t.add(e),this.$objectType="iam.v4.authn.User",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ad,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(sd.constructFromObject(e.userType)),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("isForceResetPasswordEnabled")&&null!==e.isForceResetPasswordEnabled&&void 0!==e.isForceResetPasswordEnabled&&t.setIsForceResetPasswordEnabled(e.isForceResetPasswordEnabled),e.hasOwnProperty("additionalAttributes")&&null!==e.additionalAttributes&&void 0!==e.additionalAttributes){for(o=[],i=e.additionalAttributes,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setAdditionalAttributes(o)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ka.constructFromObject(e.status)),e.hasOwnProperty("bucketsAccessKeys")&&null!==e.bucketsAccessKeys&&void 0!==e.bucketsAccessKeys){for(o=[],i=e.bucketsAccessKeys,r=0;r<i.length;r++)s=td.constructFromObject(i[r],void 0),o.push(s);t.setBucketsAccessKeys(o)}if(e.hasOwnProperty("lastLoginTime")&&null!==e.lastLoginTime&&void 0!==e.lastLoginTime&&t.setLastLoginTime(e.lastLoginTime),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),e.hasOwnProperty("lastUpdatedBy")&&null!==e.lastUpdatedBy&&void 0!==e.lastUpdatedBy&&t.setLastUpdatedBy(e.lastUpdatedBy),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(ba.constructFromObject(e.creationType)),e.hasOwnProperty("hasObjectKeys")&&null!==e.hasObjectKeys&&void 0!==e.hasObjectKeys&&t.setHasObjectKeys(e.hasObjectKeys),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getPassword(){return this.password}setPassword(e){this.password=e}getIsForceResetPasswordEnabled(){return this.isForceResetPasswordEnabled}setIsForceResetPasswordEnabled(e){this.isForceResetPasswordEnabled=e}getAdditionalAttributes(){return this.additionalAttributes}setAdditionalAttributes(e){this.additionalAttributes=e}getStatus(){return this.status}setStatus(e){this.status=e}getBucketsAccessKeys(){return this.bucketsAccessKeys}setBucketsAccessKeys(e){this.bucketsAccessKeys=e}getLastLoginTime(){return this.lastLoginTime}setLastLoginTime(e){this.lastLoginTime=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}getLastUpdatedBy(){return this.lastUpdatedBy}setLastUpdatedBy(e){this.lastUpdatedBy=e}getDescription(){return this.description}setDescription(e){this.description=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getHasObjectKeys(){return this.hasObjectKeys}setHasObjectKeys(e){this.hasObjectKeys=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}toJson(e){return!1===e?{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getBucketsAccessKeys()&&null!==this.getBucketsAccessKeys()?{bucketsAccessKeys:this.getBucketsAccessKeys().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastLoginTime()&&null!==this.getLastLoginTime()?{lastLoginTime:rd(od,this,dd).call(this,this.getLastLoginTime(),!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:rd(od,this,dd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:rd(od,this,dd).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getLastUpdatedBy()&&null!==this.getLastUpdatedBy()?{lastUpdatedBy:this.getLastUpdatedBy()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getHasObjectKeys()&&null!==this.getHasObjectKeys()?{hasObjectKeys:this.getHasObjectKeys()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},...void 0!==this.getIsForceResetPasswordEnabled()&&null!==this.getIsForceResetPasswordEnabled()?{isForceResetPasswordEnabled:this.getIsForceResetPasswordEnabled()}:{},...void 0!==this.getAdditionalAttributes()&&null!==this.getAdditionalAttributes()?{additionalAttributes:this.getAdditionalAttributes().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!k.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!k.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!k.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!k.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!k.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("password"===t&&(void 0===this.password||null===this.password))return new F("password","undefined or null");if("isForceResetPasswordEnabled"===t&&(void 0===this.isForceResetPasswordEnabled||null===this.isForceResetPasswordEnabled))return new F("isForceResetPasswordEnabled","undefined or null");if("additionalAttributes"===t){if(void 0===this.additionalAttributes||null===this.additionalAttributes)return new F("additionalAttributes","undefined or null");if(!k.validateMaxItems(this.additionalAttributes,10))return new F("additionalAttributes","does not satisfy required maxItems constraint: 10")}if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("bucketsAccessKeys"===t){if(void 0===this.bucketsAccessKeys||null===this.bucketsAccessKeys)return new F("bucketsAccessKeys","undefined or null");if(!k.validateMaxItems(this.bucketsAccessKeys,5))return new F("bucketsAccessKeys","does not satisfy required maxItems constraint: 5")}if("lastLoginTime"===t&&(void 0===this.lastLoginTime||null===this.lastLoginTime))return new F("lastLoginTime","undefined or null");if("createdTime"===t&&(void 0===this.createdTime||null===this.createdTime))return new F("createdTime","undefined or null");if("lastUpdatedTime"===t&&(void 0===this.lastUpdatedTime||null===this.lastUpdatedTime))return new F("lastUpdatedTime","undefined or null");if("createdBy"===t){if(void 0===this.createdBy||null===this.createdBy)return new F("createdBy","undefined or null");if(!k.validatePattern(this.createdBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("createdBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("lastUpdatedBy"===t){if(void 0===this.lastUpdatedBy||null===this.lastUpdatedBy)return new F("lastUpdatedBy","undefined or null");if(!k.validatePattern(this.lastUpdatedBy,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("lastUpdatedBy","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"description"!==t||void 0!==this.description&&null!==this.description?"creationType"!==t||void 0!==this.creationType&&null!==this.creationType?"hasObjectKeys"!==t||void 0!==this.hasObjectKeys&&null!==this.hasObjectKeys?"defaultLandingPagePath"!==t||void 0!==this.defaultLandingPagePath&&null!==this.defaultLandingPagePath?new F(t,"no such property exists"):new F("defaultLandingPagePath","undefined or null"):new F("hasObjectKeys","undefined or null"):new F("creationType","undefined or null"):new F("description","undefined or null")}}function dd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function ld(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ad.prototype.username=void 0,ad.prototype.userType=void 0,ad.prototype.idpId=void 0,ad.prototype.displayName=void 0,ad.prototype.firstName=void 0,ad.prototype.middleInitial=void 0,ad.prototype.lastName=void 0,ad.prototype.emailId=void 0,ad.prototype.locale=void 0,ad.prototype.region=void 0,ad.prototype.password=void 0,ad.prototype.isForceResetPasswordEnabled=void 0,ad.prototype.additionalAttributes=void 0,ad.prototype.status=void 0,ad.prototype.bucketsAccessKeys=void 0,ad.prototype.lastLoginTime=void 0,ad.prototype.createdTime=void 0,ad.prototype.lastUpdatedTime=void 0,ad.prototype.createdBy=void 0,ad.prototype.lastUpdatedBy=void 0,ad.prototype.description=void 0,ad.prototype.creationType=void 0,ad.prototype.hasObjectKeys=void 0,ad.prototype.defaultLandingPagePath=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var hd=new WeakSet;class ud extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hd),t.add(e),this.$objectType="iam.v4.authn.ListUserKeysApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new ud,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.Key"===d?(s=Aa.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ld(hd,this,cd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ld(hd,this,cd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function cd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function pd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ud.prototype.metadata=void 0,ud.prototype.data=void 0,ud.prototype.$reserved=void 0,ud.prototype.$objectType=void 0,ud.prototype.$unknownFields=void 0;var yd=new WeakSet;class gd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=yd),t.add(e),this.$objectType="iam.v4.authn.RevokeUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new gd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.AppMessage":t.setData(De.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):pd(yd,this,vd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):pd(yd,this,vd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function vd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function md(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}gd.prototype.metadata=void 0,gd.prototype.data=void 0,gd.prototype.$reserved=void 0,gd.prototype.$objectType=void 0,gd.prototype.$unknownFields=void 0;var $d=new WeakSet;class wd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$d),t.add(e),this.$objectType="iam.v4.authn.CreateKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new wd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.Key":t.setData(Aa.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):md($d,this,fd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):md($d,this,fd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function fd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function bd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}wd.prototype.metadata=void 0,wd.prototype.data=void 0,wd.prototype.$reserved=void 0,wd.prototype.$objectType=void 0,wd.prototype.$unknownFields=void 0;var Td=new WeakSet;class jd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Td),t.add(e),this.$objectType="iam.v4.authn.UpdateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new jd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(ad.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):bd(Td,this,kd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):bd(Td,this,kd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function kd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Fd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}jd.prototype.metadata=void 0,jd.prototype.data=void 0,jd.prototype.$reserved=void 0,jd.prototype.$objectType=void 0,jd.prototype.$unknownFields=void 0;var Od=new WeakSet;class Ed extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Od),t.add(e),this.$objectType="iam.v4.authn.ListUsersApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,o,a,d;if(e){if(t=t||new Ed,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,d=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],o=0;o<i.length;o++)"iam.v4.authn.User"===d?(s=ad.constructFromObject(i[o],void 0),a.push(s)):a.push(i[o]);t.setData(a)}else d=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"iam.v4.error.ErrorResponse"===d?t.setData(We.constructFromObject(e.data,void 0)):t.setData(e.data);if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Fd(Od,this,Id).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Fd(Od,this,Id).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Id(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Pd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ed.prototype.metadata=void 0,Ed.prototype.data=void 0,Ed.prototype.$reserved=void 0,Ed.prototype.$objectType=void 0,Ed.prototype.$unknownFields=void 0;var Ad=new WeakSet;class Cd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ad),t.add(e),this.$objectType="iam.v4.authn.DeleteUserKeyApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Cd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(null===e.data&&t.setData(null),i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;case"":t.setData(Void.constructFromObject(e[""],void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Pd(Ad,this,Dd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Pd(Ad,this,Dd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Dd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Ud(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Cd.prototype.metadata=void 0,Cd.prototype.data=void 0,Cd.prototype.$reserved=void 0,Cd.prototype.$objectType=void 0,Cd.prototype.$unknownFields=void 0;var Nd=new WeakSet;class Sd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Nd),t.add(e),this.$objectType="iam.v4.authn.GetUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Sd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(ad.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ud(Nd,this,Rd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ud(Nd,this,Rd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Rd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Sd.prototype.metadata=void 0,Sd.prototype.data=void 0,Sd.prototype.$reserved=void 0,Sd.prototype.$objectType=void 0,Sd.prototype.$unknownFields=void 0;var xd=new WeakSet;class Ld{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=xd),s.add(i),this.username=e,this.oldPassword=t,this.newPassword=n,this.$objectType="iam.v4.authn.PasswordChangeRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ld,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("oldPassword")&&null!==e.oldPassword&&void 0!==e.oldPassword&&t.setOldPassword(e.oldPassword),e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getOldPassword(){return this.oldPassword}setOldPassword(e){this.oldPassword=e}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getOldPassword()&&null!==this.getOldPassword()?{oldPassword:this.getOldPassword()}:{},...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["username","oldPassword","newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255")}return"oldPassword"!==t||void 0!==this.oldPassword&&null!==this.oldPassword?"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null"):new F("oldPassword","undefined or null")}}function Md(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ld.prototype.username=void 0,Ld.prototype.oldPassword=void 0,Ld.prototype.newPassword=void 0,Ld.prototype.$reserved=void 0,Ld.prototype.$objectType=void 0,Ld.prototype.$unknownFields=void 0;var Jd=new WeakSet;class _d extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Jd),t.add(e),this.$objectType="iam.v4.authn.CreateUserApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _d,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.User":t.setData(ad.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Md(Jd,this,Wd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Md(Jd,this,Wd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Wd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}_d.prototype.metadata=void 0,_d.prototype.data=void 0,_d.prototype.$reserved=void 0,_d.prototype.$objectType=void 0,_d.prototype.$unknownFields=void 0;var Kd=new WeakSet;class qd{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Kd),n.add(t),this.newPassword=e,this.$objectType="iam.v4.authn.PasswordResetRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qd,e.hasOwnProperty("newPassword")&&null!==e.newPassword&&void 0!==e.newPassword&&t.setNewPassword(e.newPassword),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewPassword(){return this.newPassword}setNewPassword(e){this.newPassword=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewPassword()&&null!==this.getNewPassword()?{newPassword:this.getNewPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["newPassword"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"newPassword"!==t||void 0!==this.newPassword&&null!==this.newPassword?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("newPassword","undefined or null")}}qd.prototype.newPassword=void 0,qd.prototype.$reserved=void 0,qd.prototype.$objectType=void 0,qd.prototype.$unknownFields=void 0;class Bd extends Ht{constructor(e){super(e),this.$objectType="iam.v4.authn.PasswordChangeResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bd,Ht.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["message"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function zd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Gd=new WeakSet;class Vd extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Gd),t.add(e),this.$objectType="iam.v4.authn.ChangeUserPasswordApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Vd,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.PasswordChangeResponse":t.setData(Bd.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):zd(Gd,this,Hd).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):zd(Gd,this,Hd).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function Hd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Yd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vd.prototype.metadata=void 0,Vd.prototype.data=void 0,Vd.prototype.$reserved=void 0,Vd.prototype.$objectType=void 0,Vd.prototype.$unknownFields=void 0;var Xd=new WeakSet;class Zd{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xd),t.add(e),this.$objectType="iam.v4.authn.WelcomeBanner",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Zd,e.hasOwnProperty("content")&&null!==e.content&&void 0!==e.content&&t.setContent(e.content),e.hasOwnProperty("isEnabled")&&null!==e.isEnabled&&void 0!==e.isEnabled&&t.setIsEnabled(e.isEnabled),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getContent(){return this.content}setContent(e){this.content=e}getIsEnabled(){return this.isEnabled}setIsEnabled(e){this.isEnabled=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Yd(Xd,this,Qd).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Yd(Xd,this,Qd).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getContent()&&null!==this.getContent()?{content:this.getContent()}:{},...void 0!==this.getIsEnabled()&&null!==this.getIsEnabled()?{isEnabled:this.getIsEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("content"===t){if(void 0===this.content||null===this.content)return new F("content","undefined or null");if(!k.validateMaxLength(this.content,1e4))return new F("content","does not satisfy required maxLength constraint: 10000")}return"isEnabled"!==t||void 0!==this.isEnabled&&null!==this.isEnabled?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("isEnabled","undefined or null")}}function Qd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function el(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zd.prototype.content=void 0,Zd.prototype.isEnabled=!0,Zd.prototype.createdTime=void 0,Zd.prototype.lastUpdatedTime=void 0,Zd.prototype.$reserved=void 0,Zd.prototype.$objectType=void 0,Zd.prototype.$unknownFields=void 0;var tl=new WeakSet;class nl extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=tl),t.add(e),this.$objectType="iam.v4.authn.GetWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new nl,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(Zd.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):el(tl,this,il).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):el(tl,this,il).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function il(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function sl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}nl.prototype.metadata=void 0,nl.prototype.data=void 0,nl.prototype.$reserved=void 0,nl.prototype.$objectType=void 0,nl.prototype.$unknownFields=void 0;var rl=new WeakSet;class ol extends r{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=rl),t.add(e),this.$objectType="iam.v4.authn.UpdateWelcomeBannerApiResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new ol,e.hasOwnProperty("metadata")&&r.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(q.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"iam.v4.authn.WelcomeBanner":t.setData(Zd.constructFromObject(e.data,void 0));break;case"iam.v4.error.ErrorResponse":t.setData(We.constructFromObject(e.data,void 0));break;default:t.setData(e.data)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):sl(rl,this,al).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):sl(rl,this,al).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("data","undefined or null"):new F("metadata","undefined or null")}}function al(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ol.prototype.metadata=void 0,ol.prototype.data=void 0,ol.prototype.$reserved=void 0,ol.prototype.$objectType=void 0,ol.prototype.$unknownFields=void 0;const dl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA256:"RSA256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(dl).find(t=>dl[t]===e);return null==t?dl.$UNKNOWN:dl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case dl.$UNKNOWN:case dl.$REDACTED:case dl.RSA256:return;default:throw new Error("Invalid : must be AlgoType.{ $UNKNOWN|$REDACTED|RSA256 }")}}};Object.freeze(dl);const ll=dl,hl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT_SECRET_BASIC:"CLIENT_SECRET_BASIC",PRIVATE_KEY_JWT:"PRIVATE_KEY_JWT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(hl).find(t=>hl[t]===e);return null==t?hl.$UNKNOWN:hl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case hl.$UNKNOWN:case hl.$REDACTED:case hl.CLIENT_SECRET_BASIC:case hl.PRIVATE_KEY_JWT:return;default:throw new Error("Invalid : must be AuthMethodType.{ $UNKNOWN|$REDACTED|CLIENT_SECRET_BASIC|PRIVATE_KEY_JWT }")}}};Object.freeze(hl);const ul=hl;var cl=new WeakSet;class pl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=cl),t.add(e),this.$objectType="iam.v4.authn.AuthenticationResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pl,e.hasOwnProperty("authCodeUri")&&null!==e.authCodeUri&&void 0!==e.authCodeUri&&t.setAuthCodeUri(e.authCodeUri),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthCodeUri(){return this.authCodeUri}setAuthCodeUri(e){this.authCodeUri=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthCodeUri()&&null!==this.getAuthCodeUri()?{authCodeUri:this.getAuthCodeUri()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authCodeUri"===t){if(void 0===this.authCodeUri||null===this.authCodeUri)return new F("authCodeUri","undefined or null");if(!k.validateMaxLength(this.authCodeUri,2e3))return new F("authCodeUri","does not satisfy required maxLength constraint: 2000");if(!k.validatePattern(this.authCodeUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("authCodeUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}pl.prototype.authCodeUri=void 0,pl.prototype.$reserved=void 0,pl.prototype.$objectType=void 0,pl.prototype.$unknownFields=void 0;const yl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",HASH_OIDC_CLIENT_SECRET:"HASH_OIDC_CLIENT_SECRET",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(yl).find(t=>yl[t]===e);return null==t?yl.$UNKNOWN:yl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case yl.$UNKNOWN:case yl.$REDACTED:case yl.HASH_OIDC_CLIENT_SECRET:return;default:throw new Error("Invalid : must be AuthnMigrationType.{ $UNKNOWN|$REDACTED|HASH_OIDC_CLIENT_SECRET }")}}};Object.freeze(yl);const gl=yl;var vl=new WeakSet;class ml{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=vl),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authn.AuthnMigrationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ml,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(gl.constructFromObject(e.migrationType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("migrationType","undefined or null")}}ml.prototype.migrationType=void 0,ml.prototype.$reserved=void 0,ml.prototype.$objectType=void 0,ml.prototype.$unknownFields=void 0;var $l=new WeakSet;class wl{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=$l),n.add(t),this.relayState=e,this.$objectType="iam.v4.authn.CertificateLoginRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wl,e.hasOwnProperty("relayState")&&null!==e.relayState&&void 0!==e.relayState&&t.setRelayState(e.relayState),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRelayState(){return this.relayState}setRelayState(e){this.relayState=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRelayState()&&null!==this.getRelayState()?{relayState:this.getRelayState()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["relayState"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("relayState"===t){if(void 0===this.relayState||null===this.relayState)return new F("relayState","undefined or null");if(!k.validateMaxLength(this.relayState,255))return new F("relayState","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.relayState,1))return new F("relayState","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.relayState,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("relayState","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}wl.prototype.relayState=void 0,wl.prototype.$reserved=void 0,wl.prototype.$objectType=void 0,wl.prototype.$unknownFields=void 0;const fl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",UUID:"UUID",TENANT_UUID:"TENANT_UUID",SUB:"SUB",EMAIL:"EMAIL",DISPLAY_NAME:"DISPLAY_NAME",GROUPS:"GROUPS",ISS:"ISS",AUD:"AUD",EXP:"EXP",IAT:"IAT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fl).find(t=>fl[t]===e);return null==t?fl.$UNKNOWN:fl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fl.$UNKNOWN:case fl.$REDACTED:case fl.UUID:case fl.TENANT_UUID:case fl.SUB:case fl.EMAIL:case fl.DISPLAY_NAME:case fl.GROUPS:case fl.ISS:case fl.AUD:case fl.EXP:case fl.IAT:return;default:throw new Error("Invalid : must be ClaimsType.{ $UNKNOWN|$REDACTED|UUID|TENANT_UUID|SUB|EMAIL|DISPLAY_NAME|GROUPS|ISS|AUD|EXP|IAT }")}}};Object.freeze(fl);const bl=fl;var Tl=new WeakSet;class jl extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=Tl),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoGroup",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}jl.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var kl=new WeakSet;class Fl extends Xe{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=kl),n.add(t),this.name=e,this.$objectType="iam.v4.authn.DirectoryServiceInfoOu",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Fl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["name"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}Fl.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Ol=new WeakSet;class El{constructor(e,t,n){var i,s;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,s=Ol),s.add(i),this.userId=e,this.groups=t,this.ous=n,this.$objectType="iam.v4.authn.DirectoryServiceInfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new El,e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=jl.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("ous")&&null!==e.ous&&void 0!==e.ous){for(o=[],i=e.ous,r=0;r<i.length;r++)s=Fl.constructFromObject(i[r],void 0),o.push(s);t.setOus(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUserId(){return this.userId}setUserId(e){this.userId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getOus(){return this.ous}setOus(e){this.ous=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getOus()&&null!==this.getOus()?{ous:this.getOus().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["userId","groups","ous"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!k.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!k.validateMaxItems(this.groups,20))return new F("groups","does not satisfy required maxItems constraint: 20")}if("ous"===t){if(void 0===this.ous||null===this.ous)return new F("ous","undefined or null");if(!k.validateMaxItems(this.ous,20))return new F("ous","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}El.prototype.userId=void 0,El.prototype.groups=void 0,El.prototype.ous=void 0,El.prototype.$reserved=void 0,El.prototype.$objectType=void 0,El.prototype.$unknownFields=void 0;const Il={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PUBLIC:"PUBLIC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Il).find(t=>Il[t]===e);return null==t?Il.$UNKNOWN:Il[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Il.$UNKNOWN:case Il.$REDACTED:case Il.PUBLIC:return;default:throw new Error("Invalid : must be DiscoverySubjectType.{ $UNKNOWN|$REDACTED|PUBLIC }")}}};Object.freeze(Il);const Pl=Il;var Al=new WeakSet;class Cl{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Al),t.add(e),this.$objectType="iam.v4.authn.FederationClaims",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Cl,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getEmail(){return this.email}setEmail(e){this.email=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,16))return new F("name","does not satisfy required maxLength constraint: 16")}if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!k.validateMaxLength(this.email,16))return new F("email","does not satisfy required maxLength constraint: 16")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Dl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Cl.prototype.name=void 0,Cl.prototype.email=void 0,Cl.prototype.$reserved=void 0,Cl.prototype.$objectType=void 0,Cl.prototype.$unknownFields=void 0;var Ul=new WeakSet;class Nl extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ul),t.add(e),this.$objectType="iam.v4.authn.Federation",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("wellKnownConfig")&&null!==e.wellKnownConfig&&void 0!==e.wellKnownConfig&&t.setWellKnownConfig(e.wellKnownConfig),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("cloudTenant")&&null!==e.cloudTenant&&void 0!==e.cloudTenant&&t.setCloudTenant(e.cloudTenant),e.hasOwnProperty("cloudApiKey")&&null!==e.cloudApiKey&&void 0!==e.cloudApiKey&&t.setCloudApiKey(e.cloudApiKey),e.hasOwnProperty("claimMap")&&null!==e.claimMap&&void 0!==e.claimMap&&t.setClaimMap(Cl.constructFromObject(e.claimMap)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getWellKnownConfig(){return this.wellKnownConfig}setWellKnownConfig(e){this.wellKnownConfig=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getCloudTenant(){return this.cloudTenant}setCloudTenant(e){this.cloudTenant=e}getCloudApiKey(){return this.cloudApiKey}setCloudApiKey(e){this.cloudApiKey=e}getClaimMap(){return this.claimMap}setClaimMap(e){this.claimMap=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Dl(Ul,this,Sl).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Dl(Ul,this,Sl).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getWellKnownConfig()&&null!==this.getWellKnownConfig()?{wellKnownConfig:this.getWellKnownConfig()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getCloudTenant()&&null!==this.getCloudTenant()?{cloudTenant:this.getCloudTenant()}:{},...void 0!==this.getCloudApiKey()&&null!==this.getCloudApiKey()?{cloudApiKey:this.getCloudApiKey()}:{},...void 0!==this.getClaimMap()&&null!==this.getClaimMap()?{claimMap:this.getClaimMap().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("wellKnownConfig"===t){if(void 0===this.wellKnownConfig||null===this.wellKnownConfig)return new F("wellKnownConfig","undefined or null");if(!k.validateMaxLength(this.wellKnownConfig,2e3))return new F("wellKnownConfig","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.wellKnownConfig,3))return new F("wellKnownConfig","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.wellKnownConfig,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("wellKnownConfig","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!k.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudTenant"===t){if(void 0===this.cloudTenant||null===this.cloudTenant)return new F("cloudTenant","undefined or null");if(!k.validatePattern(this.cloudTenant,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("cloudTenant","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("cloudApiKey"===t){if(void 0===this.cloudApiKey||null===this.cloudApiKey)return new F("cloudApiKey","undefined or null");if(!k.validateMaxLength(this.cloudApiKey,128))return new F("cloudApiKey","does not satisfy required maxLength constraint: 128")}return"claimMap"!==t||void 0!==this.claimMap&&null!==this.claimMap?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("claimMap","undefined or null")}}function Sl(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Nl.prototype.wellKnownConfig=void 0,Nl.prototype.idpId=void 0,Nl.prototype.cloudTenant=void 0,Nl.prototype.cloudApiKey=void 0,Nl.prototype.claimMap=void 0,Nl.prototype.createdTime=void 0,Nl.prototype.lastUpdatedTime=void 0,Nl.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const Rl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AUTHORIZATION_CODE:"AUTHORIZATION_CODE",REFRESH_TOKEN:"REFRESH_TOKEN",CLIENT_CREDENTIALS:"CLIENT_CREDENTIALS",PASSWORD:"PASSWORD",URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:"URN:IETF:PARAMS:OAUTH:GRANT-TYPE:TOKEN-EXCHANGE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Rl).find(t=>Rl[t]===e);return null==t?Rl.$UNKNOWN:Rl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Rl.$UNKNOWN:case Rl.$REDACTED:case Rl.AUTHORIZATION_CODE:case Rl.REFRESH_TOKEN:case Rl.CLIENT_CREDENTIALS:case Rl.PASSWORD:case Rl.URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE:return;default:throw new Error("Invalid : must be GrantType.{ $UNKNOWN|$REDACTED|AUTHORIZATION_CODE|REFRESH_TOKEN|CLIENT_CREDENTIALS|PASSWORD|URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE }")}}};Object.freeze(Rl);const xl=Rl;var Ll=new WeakSet;class Ml extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ll),t.add(e),this.$objectType="iam.v4.authn.Group",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ml,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}Ml.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Jl=new WeakSet;class _l{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Jl),n.add(t),this.maxKeyCount=e,this.$objectType="iam.v4.authn.KeyMigrationSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _l,e.hasOwnProperty("maxKeyCount")&&null!==e.maxKeyCount&&void 0!==e.maxKeyCount&&t.setMaxKeyCount(e.maxKeyCount),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMaxKeyCount(){return this.maxKeyCount}setMaxKeyCount(e){this.maxKeyCount=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMaxKeyCount()&&null!==this.getMaxKeyCount()?{maxKeyCount:this.getMaxKeyCount()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["maxKeyCount"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"maxKeyCount"!==t||void 0!==this.maxKeyCount&&null!==this.maxKeyCount?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("maxKeyCount","undefined or null")}}_l.prototype.maxKeyCount=void 0,_l.prototype.$reserved=void 0,_l.prototype.$objectType=void 0,_l.prototype.$unknownFields=void 0;const Wl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RSA:"RSA",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wl).find(t=>Wl[t]===e);return null==t?Wl.$UNKNOWN:Wl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wl.$UNKNOWN:case Wl.$REDACTED:case Wl.RSA:return;default:throw new Error("Invalid : must be KeyType.{ $UNKNOWN|$REDACTED|RSA }")}}};Object.freeze(Wl);const Kl=Wl,ql={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ID_TOKEN:"ID_TOKEN",CODE:"CODE",TOKEN:"TOKEN",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ql).find(t=>ql[t]===e);return null==t?ql.$UNKNOWN:ql[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ql.$UNKNOWN:case ql.$REDACTED:case ql.ID_TOKEN:case ql.CODE:case ql.TOKEN:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|ID_TOKEN|CODE|TOKEN }")}}};Object.freeze(ql);const Bl=ql,zl={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",OFFLINE_ACCESS:"OFFLINE_ACCESS",GROUPS:"GROUPS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zl).find(t=>zl[t]===e);return null==t?zl.$UNKNOWN:zl[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zl.$UNKNOWN:case zl.$REDACTED:case zl.OPENID:case zl.PROFILE:case zl.EMAIL:case zl.OFFLINE_ACCESS:case zl.GROUPS:return;default:throw new Error("Invalid : must be Scope.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|OFFLINE_ACCESS|GROUPS }")}}};Object.freeze(zl);const Gl=zl;var Vl=new WeakSet;class Hl extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vl),t.add(e),this.$objectType="iam.v4.authn.LoginRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Hl,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("clientId")&&null!==e.clientId&&void 0!==e.clientId&&t.setClientId(e.clientId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Bl.constructFromObject(e.responseType)),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope){for(o=[],i=e.scope,r=0;r<i.length;r++)s=Gl.constructFromObject(i[r],void 0),o.push(s);t.setScope(o)}if(e.hasOwnProperty("redirectUri")&&null!==e.redirectUri&&void 0!==e.redirectUri&&t.setRedirectUri(e.redirectUri),e.hasOwnProperty("nonce")&&null!==e.nonce&&void 0!==e.nonce&&t.setNonce(e.nonce),e.hasOwnProperty("state")&&null!==e.state&&void 0!==e.state&&t.setState(e.state),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("approvalPrompt")&&null!==e.approvalPrompt&&void 0!==e.approvalPrompt&&t.setApprovalPrompt(e.approvalPrompt),e.hasOwnProperty("loginProviderId")&&null!==e.loginProviderId&&void 0!==e.loginProviderId&&t.setLoginProviderId(e.loginProviderId),e.hasOwnProperty("isUserLoggedIn")&&null!==e.isUserLoggedIn&&void 0!==e.isUserLoggedIn&&t.setIsUserLoggedIn(e.isUserLoggedIn),e.hasOwnProperty("isServiceProviderEnabled")&&null!==e.isServiceProviderEnabled&&void 0!==e.isServiceProviderEnabled&&t.setIsServiceProviderEnabled(e.isServiceProviderEnabled),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getScope(){return this.scope}setScope(e){this.scope=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getNonce(){return this.nonce}setNonce(e){this.nonce=e}getState(){return this.state}setState(e){this.state=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getApprovalPrompt(){return this.approvalPrompt}setApprovalPrompt(e){this.approvalPrompt=e}getLoginProviderId(){return this.loginProviderId}setLoginProviderId(e){this.loginProviderId=e}getIsUserLoggedIn(){return this.isUserLoggedIn}setIsUserLoggedIn(e){this.isUserLoggedIn=e}getIsServiceProviderEnabled(){return this.isServiceProviderEnabled}setIsServiceProviderEnabled(e){this.isServiceProviderEnabled=e}toJson(e){return!1===e?{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClientId()&&null!==this.getClientId()?{clientId:this.getClientId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirectUri:this.getRedirectUri()}:{},...void 0!==this.getNonce()&&null!==this.getNonce()?{nonce:this.getNonce()}:{},...void 0!==this.getState()&&null!==this.getState()?{state:this.getState()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getApprovalPrompt()&&null!==this.getApprovalPrompt()?{approvalPrompt:this.getApprovalPrompt()}:{},...void 0!==this.getLoginProviderId()&&null!==this.getLoginProviderId()?{loginProviderId:this.getLoginProviderId()}:{},...void 0!==this.getIsUserLoggedIn()&&null!==this.getIsUserLoggedIn()?{isUserLoggedIn:this.getIsUserLoggedIn()}:{},...void 0!==this.getIsServiceProviderEnabled()&&null!==this.getIsServiceProviderEnabled()?{isServiceProviderEnabled:this.getIsServiceProviderEnabled()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("clientId"===t){if(void 0===this.clientId||null===this.clientId)return new F("clientId","undefined or null");if(!k.validatePattern(this.clientId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("clientId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("responseType"===t&&(void 0===this.responseType||null===this.responseType))return new F("responseType","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!k.validateMaxItems(this.scope,10))return new F("scope","does not satisfy required maxItems constraint: 10");if(!k.validateMinItems(this.scope,1))return new F("scope","does not satisfy required minItems constraint: 1")}if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!k.validateMaxLength(this.redirectUri,2e3))return new F("redirectUri","does not satisfy required maxLength constraint: 2000");if(!k.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("nonce"===t){if(void 0===this.nonce||null===this.nonce)return new F("nonce","undefined or null");if(!k.validateMaxLength(this.nonce,2e3))return new F("nonce","does not satisfy required maxLength constraint: 2000")}if("state"===t){if(void 0===this.state||null===this.state)return new F("state","undefined or null");if(!k.validateMaxLength(this.state,2e3))return new F("state","does not satisfy required maxLength constraint: 2000")}if("audience"===t){if(void 0===this.audience||null===this.audience)return new F("audience","undefined or null");if(!k.validateMaxLength(this.audience,2e3))return new F("audience","does not satisfy required maxLength constraint: 2000")}if("approvalPrompt"===t){if(void 0===this.approvalPrompt||null===this.approvalPrompt)return new F("approvalPrompt","undefined or null");if(!k.validateMaxLength(this.approvalPrompt,2e3))return new F("approvalPrompt","does not satisfy required maxLength constraint: 2000")}if("loginProviderId"===t){if(void 0===this.loginProviderId||null===this.loginProviderId)return new F("loginProviderId","undefined or null");if(!k.validatePattern(this.loginProviderId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("loginProviderId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isUserLoggedIn"!==t||void 0!==this.isUserLoggedIn&&null!==this.isUserLoggedIn?"isServiceProviderEnabled"!==t||void 0!==this.isServiceProviderEnabled&&null!==this.isServiceProviderEnabled?new F(t,"no such property exists"):new F("isServiceProviderEnabled","undefined or null"):new F("isUserLoggedIn","undefined or null")}}function Yl(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Hl.prototype.clientId=void 0,Hl.prototype.responseType=void 0,Hl.prototype.scope=void 0,Hl.prototype.redirectUri=void 0,Hl.prototype.nonce=void 0,Hl.prototype.state=void 0,Hl.prototype.audience=void 0,Hl.prototype.approvalPrompt=void 0,Hl.prototype.loginProviderId=void 0,Hl.prototype.isUserLoggedIn=void 0,Hl.prototype.isServiceProviderEnabled=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Xl=new WeakSet;class Zl{constructor(e,t,n,i,s,r,o,a,d,l){var h,u;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(h=this,u=Xl),u.add(h),this.secretAccessKey=e,this.emailId=t,this.userId=n,this.userType=i,this.tenantId=s,this.idpId=r,this.username=o,this.creationType=a,this.customClaims=d,this.assignedTo=l,this.$objectType="iam.v4.authn.ObjectsAuthDetails",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Zl,e.hasOwnProperty("secretAccessKey")&&null!==e.secretAccessKey&&void 0!==e.secretAccessKey&&t.setSecretAccessKey(e.secretAccessKey),e.hasOwnProperty("emailId")&&null!==e.emailId&&void 0!==e.emailId&&t.setEmailId(e.emailId),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("userType")&&null!==e.userType&&void 0!==e.userType&&t.setUserType(sd.constructFromObject(e.userType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("idpId")&&null!==e.idpId&&void 0!==e.idpId&&t.setIdpId(e.idpId),e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("creationType")&&null!==e.creationType&&void 0!==e.creationType&&t.setCreationType(ba.constructFromObject(e.creationType)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("assignedTo")&&null!==e.assignedTo&&void 0!==e.assignedTo&&t.setAssignedTo(e.assignedTo),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSecretAccessKey(){return this.secretAccessKey}setSecretAccessKey(e){this.secretAccessKey=e}getEmailId(){return this.emailId}setEmailId(e){this.emailId=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getUserType(){return this.userType}setUserType(e){this.userType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getIdpId(){return this.idpId}setIdpId(e){this.idpId=e}getUsername(){return this.username}setUsername(e){this.username=e}getCreationType(){return this.creationType}setCreationType(e){this.creationType=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getAssignedTo(){return this.assignedTo}setAssignedTo(e){this.assignedTo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Yl(Xl,this,Ql).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getSecretAccessKey()&&null!==this.getSecretAccessKey()?{secretAccessKey:this.getSecretAccessKey()}:{},...void 0!==this.getEmailId()&&null!==this.getEmailId()?{emailId:this.getEmailId()}:{},...void 0!==this.getUserType()&&null!==this.getUserType()?{userType:this.getUserType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getIdpId()&&null!==this.getIdpId()?{idpId:this.getIdpId()}:{},...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getCreationType()&&null!==this.getCreationType()?{creationType:this.getCreationType()}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:Yl(Xl,this,Ql).call(this,this.getCustomClaims())}:{},...void 0!==this.getAssignedTo()&&null!==this.getAssignedTo()?{assignedTo:this.getAssignedTo()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["secretAccessKey","emailId","userId","userType","tenantId","idpId","username","creationType","customClaims","assignedTo"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("secretAccessKey"===t&&(void 0===this.secretAccessKey||null===this.secretAccessKey))return new F("secretAccessKey","undefined or null");if("emailId"===t){if(void 0===this.emailId||null===this.emailId)return new F("emailId","undefined or null");if(!k.validateMaxLength(this.emailId,255))return new F("emailId","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.emailId,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("emailId","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("userId"===t&&(void 0===this.userId||null===this.userId))return new F("userId","undefined or null");if("userType"===t&&(void 0===this.userType||null===this.userType))return new F("userType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!k.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpId"===t){if(void 0===this.idpId||null===this.idpId)return new F("idpId","undefined or null");if(!k.validatePattern(this.idpId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.username,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("username","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("creationType"===t&&(void 0===this.creationType||null===this.creationType))return new F("creationType","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("assignedTo"===t){if(void 0===this.assignedTo||null===this.assignedTo)return new F("assignedTo","undefined or null");if(!k.validateMaxLength(this.assignedTo,255))return new F("assignedTo","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.assignedTo,3))return new F("assignedTo","does not satisfy required minLength constraint: 3")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Ql(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Zl.prototype.secretAccessKey=void 0,Zl.prototype.emailId=void 0,Zl.prototype.userId=void 0,Zl.prototype.userType=void 0,Zl.prototype.tenantId=void 0,Zl.prototype.idpId=void 0,Zl.prototype.username=void 0,Zl.prototype.creationType=void 0,Zl.prototype.customClaims=void 0,Zl.prototype.assignedTo=void 0,Zl.prototype.$reserved=void 0,Zl.prototype.$objectType=void 0,Zl.prototype.$unknownFields=void 0;var eh=new WeakSet;class th{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=eh),n.add(t),this.accessKey=e,this.$objectType="iam.v4.authn.ObjectsAuthSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new th,e.hasOwnProperty("accessKey")&&null!==e.accessKey&&void 0!==e.accessKey&&t.setAccessKey(e.accessKey),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAccessKey(){return this.accessKey}setAccessKey(e){this.accessKey=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAccessKey()&&null!==this.getAccessKey()?{accessKey:this.getAccessKey()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["accessKey"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"accessKey"!==t||void 0!==this.accessKey&&null!==this.accessKey?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("accessKey","undefined or null")}}th.prototype.accessKey=void 0,th.prototype.$reserved=void 0,th.prototype.$objectType=void 0,th.prototype.$unknownFields=void 0;const nh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SIG:"SIG",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(nh).find(t=>nh[t]===e);return null==t?nh.$UNKNOWN:nh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case nh.$UNKNOWN:case nh.$REDACTED:case nh.SIG:return;default:throw new Error("Invalid : must be UseType.{ $UNKNOWN|$REDACTED|SIG }")}}};Object.freeze(nh);const ih=nh;var sh=new WeakSet;class rh{constructor(e,t,n,i,s,r,o){(function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)})(this,sh),this.alg=e,this.use=t,this.kty=n,this.kid=i,this.x5c=s,this.n=r,this.e=o,this.$objectType="iam.v4.authn.OidcKey",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rh,e.hasOwnProperty("alg")&&null!==e.alg&&void 0!==e.alg&&t.setAlg(ll.constructFromObject(e.alg)),e.hasOwnProperty("use")&&null!==e.use&&void 0!==e.use&&t.setUse(ih.constructFromObject(e.use)),e.hasOwnProperty("kty")&&null!==e.kty&&void 0!==e.kty&&t.setKty(Kl.constructFromObject(e.kty)),e.hasOwnProperty("kid")&&null!==e.kid&&void 0!==e.kid&&t.setKid(e.kid),e.hasOwnProperty("x5c")&&null!==e.x5c&&void 0!==e.x5c&&t.setX5c(e.x5c),e.hasOwnProperty("n")&&null!==e.n&&void 0!==e.n&&t.setN(e.n),e.hasOwnProperty("e")&&null!==e.e&&void 0!==e.e&&t.setE(e.e),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAlg(){return this.alg}setAlg(e){this.alg=e}getUse(){return this.use}setUse(e){this.use=e}getKty(){return this.kty}setKty(e){this.kty=e}getKid(){return this.kid}setKid(e){this.kid=e}getX5c(){return this.x5c}setX5c(e){this.x5c=e}getN(){return this.n}setN(e){this.n=e}getE(){return this.e}setE(e){this.e=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAlg()&&null!==this.getAlg()?{alg:this.getAlg()}:{},...void 0!==this.getUse()&&null!==this.getUse()?{use:this.getUse()}:{},...void 0!==this.getKty()&&null!==this.getKty()?{kty:this.getKty()}:{},...void 0!==this.getKid()&&null!==this.getKid()?{kid:this.getKid()}:{},...void 0!==this.getX5c()&&null!==this.getX5c()?{x5c:this.getX5c()}:{},...void 0!==this.getN()&&null!==this.getN()?{n:this.getN()}:{},...void 0!==this.getE()&&null!==this.getE()?{e:this.getE()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["alg","use","kty","kid","x5c","n","e"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"alg"!==t||void 0!==this.alg&&null!==this.alg?"use"!==t||void 0!==this.use&&null!==this.use?"kty"!==t||void 0!==this.kty&&null!==this.kty?"kid"!==t||void 0!==this.kid&&null!==this.kid?"x5c"!==t||void 0!==this.x5c&&null!==this.x5c?"n"!==t||void 0!==this.n&&null!==this.n?"e"!==t||void 0!==this.e&&null!==this.e?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("e","undefined or null"):new F("n","undefined or null"):new F("x5c","undefined or null"):new F("kid","undefined or null"):new F("kty","undefined or null"):new F("use","undefined or null"):new F("alg","undefined or null")}}rh.prototype.alg=void 0,rh.prototype.use=void 0,rh.prototype.kty=void 0,rh.prototype.kid=void 0,rh.prototype.x5c=void 0,rh.prototype.n=void 0,rh.prototype.e=void 0,rh.prototype.$reserved=void 0,rh.prototype.$objectType=void 0,rh.prototype.$unknownFields=void 0;const oh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",LOCAL:"LOCAL",LDAP:"LDAP",SAML:"SAML",CERT:"CERT",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(oh).find(t=>oh[t]===e);return null==t?oh.$UNKNOWN:oh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case oh.$UNKNOWN:case oh.$REDACTED:case oh.LOCAL:case oh.LDAP:case oh.SAML:case oh.CERT:case oh.SERVICE_ACCOUNT:return;default:throw new Error("Invalid : must be OidcSubjectType.{ $UNKNOWN|$REDACTED|LOCAL|LDAP|SAML|CERT|SERVICE_ACCOUNT }")}}};Object.freeze(oh);const ah=oh;var dh=new WeakSet;class lh extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=dh),t.add(e),this.$objectType="iam.v4.authn.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new lh,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function hh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}lh.prototype.name=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var uh=new WeakSet;class ch extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=uh),t.add(e),this.$objectType="iam.v4.authn.OidcUserinfo",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ch,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("iss")&&null!==e.iss&&void 0!==e.iss&&t.setIss(e.iss),e.hasOwnProperty("sub")&&null!==e.sub&&void 0!==e.sub&&t.setSub(e.sub),e.hasOwnProperty("subType")&&null!==e.subType&&void 0!==e.subType&&t.setSubType(ah.constructFromObject(e.subType)),e.hasOwnProperty("exp")&&null!==e.exp&&void 0!==e.exp&&t.setExp(e.exp),e.hasOwnProperty("iat")&&null!==e.iat&&void 0!==e.iat&&t.setIat(e.iat),e.hasOwnProperty("email")&&null!==e.email&&void 0!==e.email&&t.setEmail(e.email),e.hasOwnProperty("isEmailVerified")&&null!==e.isEmailVerified&&void 0!==e.isEmailVerified&&t.setIsEmailVerified(e.isEmailVerified),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("userId")&&null!==e.userId&&void 0!==e.userId&&t.setUserId(e.userId),e.hasOwnProperty("connectorId")&&null!==e.connectorId&&void 0!==e.connectorId&&t.setConnectorId(e.connectorId),e.hasOwnProperty("groups")&&null!==e.groups&&void 0!==e.groups){for(o=[],i=e.groups,r=0;r<i.length;r++)s=Ml.constructFromObject(i[r],void 0),o.push(s);t.setGroups(o)}if(e.hasOwnProperty("tenant")&&null!==e.tenant&&void 0!==e.tenant&&t.setTenant(lh.constructFromObject(e.tenant)),e.hasOwnProperty("customClaims")&&null!==e.customClaims&&void 0!==e.customClaims&&t.setCustomClaims(e.customClaims),e.hasOwnProperty("legacyRoles")&&null!==e.legacyRoles&&void 0!==e.legacyRoles){for(o=[],i=e.legacyRoles,r=0;r<i.length;r++)o.push(i[r]);t.setLegacyRoles(o)}if(e.hasOwnProperty("firstName")&&null!==e.firstName&&void 0!==e.firstName&&t.setFirstName(e.firstName),e.hasOwnProperty("middleInitial")&&null!==e.middleInitial&&void 0!==e.middleInitial&&t.setMiddleInitial(e.middleInitial),e.hasOwnProperty("lastName")&&null!==e.lastName&&void 0!==e.lastName&&t.setLastName(e.lastName),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("region")&&null!==e.region&&void 0!==e.region&&t.setRegion(e.region),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ka.constructFromObject(e.status)),e.hasOwnProperty("defaultLandingPagePath")&&null!==e.defaultLandingPagePath&&void 0!==e.defaultLandingPagePath&&t.setDefaultLandingPagePath(e.defaultLandingPagePath),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIss(){return this.iss}setIss(e){this.iss=e}getSub(){return this.sub}setSub(e){this.sub=e}getSubType(){return this.subType}setSubType(e){this.subType=e}getExp(){return this.exp}setExp(e){this.exp=e}getIat(){return this.iat}setIat(e){this.iat=e}getEmail(){return this.email}setEmail(e){this.email=e}getIsEmailVerified(){return this.isEmailVerified}setIsEmailVerified(e){this.isEmailVerified=e}getName(){return this.name}setName(e){this.name=e}getUserId(){return this.userId}setUserId(e){this.userId=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getGroups(){return this.groups}setGroups(e){this.groups=e}getTenant(){return this.tenant}setTenant(e){this.tenant=e}getCustomClaims(){return this.customClaims}setCustomClaims(e){this.customClaims=e}getLegacyRoles(){return this.legacyRoles}setLegacyRoles(e){this.legacyRoles=e}getFirstName(){return this.firstName}setFirstName(e){this.firstName=e}getMiddleInitial(){return this.middleInitial}setMiddleInitial(e){this.middleInitial=e}getLastName(){return this.lastName}setLastName(e){this.lastName=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getRegion(){return this.region}setRegion(e){this.region=e}getStatus(){return this.status}setStatus(e){this.status=e}getDefaultLandingPagePath(){return this.defaultLandingPagePath}setDefaultLandingPagePath(e){this.defaultLandingPagePath=e}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}toJson(e){return!1===e?{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:hh(uh,this,ph).call(this,this.getCustomClaims(),!1)}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIss()&&null!==this.getIss()?{iss:this.getIss()}:{},...void 0!==this.getSub()&&null!==this.getSub()?{sub:this.getSub()}:{},...void 0!==this.getSubType()&&null!==this.getSubType()?{subType:this.getSubType()}:{},...void 0!==this.getExp()&&null!==this.getExp()?{exp:this.getExp()}:{},...void 0!==this.getIat()&&null!==this.getIat()?{iat:this.getIat()}:{},...void 0!==this.getEmail()&&null!==this.getEmail()?{email:this.getEmail()}:{},...void 0!==this.getIsEmailVerified()&&null!==this.getIsEmailVerified()?{isEmailVerified:this.getIsEmailVerified()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUserId()&&null!==this.getUserId()?{userId:this.getUserId()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connectorId:this.getConnectorId()}:{},...void 0!==this.getGroups()&&null!==this.getGroups()?{groups:this.getGroups().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenant()&&null!==this.getTenant()?{tenant:this.getTenant().toJson(!1)}:{},...void 0!==this.getCustomClaims()&&null!==this.getCustomClaims()?{customClaims:hh(uh,this,ph).call(this,this.getCustomClaims())}:{},...void 0!==this.getLegacyRoles()&&null!==this.getLegacyRoles()?{legacyRoles:this.getLegacyRoles()}:{},...void 0!==this.getFirstName()&&null!==this.getFirstName()?{firstName:this.getFirstName()}:{},...void 0!==this.getMiddleInitial()&&null!==this.getMiddleInitial()?{middleInitial:this.getMiddleInitial()}:{},...void 0!==this.getLastName()&&null!==this.getLastName()?{lastName:this.getLastName()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getRegion()&&null!==this.getRegion()?{region:this.getRegion()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getDefaultLandingPagePath()&&null!==this.getDefaultLandingPagePath()?{defaultLandingPagePath:this.getDefaultLandingPagePath()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("iss"===t){if(void 0===this.iss||null===this.iss)return new F("iss","undefined or null");if(!k.validatePattern(this.iss,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("iss","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}if("sub"===t&&(void 0===this.sub||null===this.sub))return new F("sub","undefined or null");if("subType"===t&&(void 0===this.subType||null===this.subType))return new F("subType","undefined or null");if("exp"===t&&(void 0===this.exp||null===this.exp))return new F("exp","undefined or null");if("iat"===t&&(void 0===this.iat||null===this.iat))return new F("iat","undefined or null");if("email"===t){if(void 0===this.email||null===this.email)return new F("email","undefined or null");if(!k.validateMaxLength(this.email,255))return new F("email","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.email,/^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/))return new F("email","does not satisfy required pattern: /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/")}if("isEmailVerified"===t&&(void 0===this.isEmailVerified||null===this.isEmailVerified))return new F("isEmailVerified","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("userId"===t){if(void 0===this.userId||null===this.userId)return new F("userId","undefined or null");if(!k.validatePattern(this.userId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("userId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("connectorId"===t){if(void 0===this.connectorId||null===this.connectorId)return new F("connectorId","undefined or null");if(!k.validatePattern(this.connectorId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("connectorId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("groups"===t){if(void 0===this.groups||null===this.groups)return new F("groups","undefined or null");if(!k.validateMaxItems(this.groups,25))return new F("groups","does not satisfy required maxItems constraint: 25")}if("tenant"===t&&(void 0===this.tenant||null===this.tenant))return new F("tenant","undefined or null");if("customClaims"===t&&(void 0===this.customClaims||null===this.customClaims))return new F("customClaims","undefined or null");if("legacyRoles"===t){if(void 0===this.legacyRoles||null===this.legacyRoles)return new F("legacyRoles","undefined or null");if(!k.validateMaxItems(this.legacyRoles,5))return new F("legacyRoles","does not satisfy required maxItems constraint: 5")}if("firstName"===t){if(void 0===this.firstName||null===this.firstName)return new F("firstName","undefined or null");if(!k.validateMaxLength(this.firstName,255))return new F("firstName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.firstName,1))return new F("firstName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.firstName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("firstName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("middleInitial"===t){if(void 0===this.middleInitial||null===this.middleInitial)return new F("middleInitial","undefined or null");if(!k.validateMaxLength(this.middleInitial,255))return new F("middleInitial","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.middleInitial,1))return new F("middleInitial","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.middleInitial,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("middleInitial","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("lastName"===t){if(void 0===this.lastName||null===this.lastName)return new F("lastName","undefined or null");if(!k.validateMaxLength(this.lastName,255))return new F("lastName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.lastName,1))return new F("lastName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.lastName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("lastName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("locale"===t&&(void 0===this.locale||null===this.locale))return new F("locale","undefined or null");if("region"===t&&(void 0===this.region||null===this.region))return new F("region","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new F("status","undefined or null");if("defaultLandingPagePath"===t&&(void 0===this.defaultLandingPagePath||null===this.defaultLandingPagePath))return new F("defaultLandingPagePath","undefined or null");if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return new F(t,"no such property exists")}}function ph(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function yh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ch.prototype.iss=void 0,ch.prototype.sub=void 0,ch.prototype.subType=void 0,ch.prototype.exp=void 0,ch.prototype.iat=void 0,ch.prototype.email=void 0,ch.prototype.isEmailVerified=void 0,ch.prototype.name=void 0,ch.prototype.userId=void 0,ch.prototype.connectorId=void 0,ch.prototype.groups=void 0,ch.prototype.tenant=void 0,ch.prototype.customClaims=void 0,ch.prototype.legacyRoles=void 0,ch.prototype.firstName=void 0,ch.prototype.middleInitial=void 0,ch.prototype.lastName=void 0,ch.prototype.locale=void 0,ch.prototype.region=void 0,ch.prototype.status=void 0,ch.prototype.defaultLandingPagePath=void 0,ch.prototype.displayName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var gh=new WeakSet;class vh extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gh),t.add(e),this.$objectType="iam.v4.authn.PropagatedConnector",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vh,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("domainName")&&null!==e.domainName&&void 0!==e.domainName&&t.setDomainName(e.domainName),e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(hs.constructFromObject(e.type)),e.hasOwnProperty("entityId")&&null!==e.entityId&&void 0!==e.entityId&&t.setEntityId(e.entityId),e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("isSharedWithAllProjects")&&null!==e.isSharedWithAllProjects&&void 0!==e.isSharedWithAllProjects&&t.setIsSharedWithAllProjects(e.isSharedWithAllProjects),e.hasOwnProperty("sharedWithProjects")&&null!==e.sharedWithProjects&&void 0!==e.sharedWithProjects){for(r=[],i=e.sharedWithProjects,s=0;s<i.length;s++)r.push(i[s]);t.setSharedWithProjects(r)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDomainName(){return this.domainName}setDomainName(e){this.domainName=e}getType(){return this.type}setType(e){this.type=e}getEntityId(){return this.entityId}setEntityId(e){this.entityId=e}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getIsSharedWithAllProjects(){return this.isSharedWithAllProjects}setIsSharedWithAllProjects(e){this.isSharedWithAllProjects=e}getSharedWithProjects(){return this.sharedWithProjects}setSharedWithProjects(e){this.sharedWithProjects=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getSharedWithProjects()&&null!==this.getSharedWithProjects()?{sharedWithProjects:this.getSharedWithProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:yh(gh,this,mh).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:yh(gh,this,mh).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDomainName()&&null!==this.getDomainName()?{domainName:this.getDomainName()}:{},...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getEntityId()&&null!==this.getEntityId()?{entityId:this.getEntityId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new F("name","undefined or null");if(!k.validateMaxLength(this.name,255))return new F("name","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.name,1))return new F("name","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.name,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("name","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("domainName"===t){if(void 0===this.domainName||null===this.domainName)return new F("domainName","undefined or null");if(!k.validateMaxLength(this.domainName,255))return new F("domainName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.domainName,3))return new F("domainName","does not satisfy required minLength constraint: 3");if(!k.validatePattern(this.domainName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("domainName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("type"===t&&(void 0===this.type||null===this.type))return new F("type","undefined or null");if("entityId"===t){if(void 0===this.entityId||null===this.entityId)return new F("entityId","undefined or null");if(!k.validateMaxLength(this.entityId,2e3))return new F("entityId","does not satisfy required maxLength constraint: 2000");if(!k.validateMinLength(this.entityId,3))return new F("entityId","does not satisfy required minLength constraint: 3")}if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isSharedWithAllProjects"!==t||void 0!==this.isSharedWithAllProjects&&null!==this.isSharedWithAllProjects?"sharedWithProjects"!==t||void 0!==this.sharedWithProjects&&null!==this.sharedWithProjects?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("sharedWithProjects","undefined or null"):new F("isSharedWithAllProjects","undefined or null")}}function mh(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vh.prototype.name=void 0,vh.prototype.domainName=void 0,vh.prototype.type=void 0,vh.prototype.entityId=void 0,vh.prototype.projectExtId=void 0,vh.prototype.isSharedWithAllProjects=void 0,vh.prototype.sharedWithProjects=void 0,vh.prototype.createdTime=void 0,vh.prototype.lastUpdatedTime=void 0,vh.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const $h={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPENID:"OPENID",PROFILE:"PROFILE",EMAIL:"EMAIL",GROUPS:"GROUPS",OFFLINE_ACCESS:"OFFLINE_ACCESS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($h).find(t=>$h[t]===e);return null==t?$h.$UNKNOWN:$h[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $h.$UNKNOWN:case $h.$REDACTED:case $h.OPENID:case $h.PROFILE:case $h.EMAIL:case $h.GROUPS:case $h.OFFLINE_ACCESS:return;default:throw new Error("Invalid : must be ScopesType.{ $UNKNOWN|$REDACTED|OPENID|PROFILE|EMAIL|GROUPS|OFFLINE_ACCESS }")}}};Object.freeze($h);const wh=$h,fh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",RS256:"RS256",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fh).find(t=>fh[t]===e);return null==t?fh.$UNKNOWN:fh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fh.$UNKNOWN:case fh.$REDACTED:case fh.RS256:return;default:throw new Error("Invalid : must be SigningAlgoType.{ $UNKNOWN|$REDACTED|RS256 }")}}};Object.freeze(fh);const bh=fh,Th={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:ID_TOKEN",URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:"URN:IETF:PARAMS:OAUTH:TOKEN-TYPE:API_KEY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Th).find(t=>Th[t]===e);return null==t?Th.$UNKNOWN:Th[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Th.$UNKNOWN:case Th.$REDACTED:case Th.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN:case Th.URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY:return;default:throw new Error("Invalid : must be SubjectType.{ $UNKNOWN|$REDACTED|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN|URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_API_KEY }")}}};Object.freeze(Th);const jh=Th;function kh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Fh=new WeakSet;class Oh{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Fh),n.add(t),this.nameValuePair=e,this.$objectType="iam.v4.authn.SystemConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Oh,e.hasOwnProperty("nameValuePair")&&null!==e.nameValuePair&&void 0!==e.nameValuePair){for(o=[],i=e.nameValuePair,r=0;r<i.length;r++)s=N.constructFromObject(i[r],void 0),o.push(s);t.setNameValuePair(o)}if(e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNameValuePair(){return this.nameValuePair}setNameValuePair(e){this.nameValuePair=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:kh(Fh,this,Eh).call(this,this.getLastUpdatedTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNameValuePair()&&null!==this.getNameValuePair()?{nameValuePair:this.getNameValuePair().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["nameValuePair"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("nameValuePair"===t){if(void 0===this.nameValuePair||null===this.nameValuePair)return new F("nameValuePair","undefined or null");if(!k.validateMaxItems(this.nameValuePair,10))return new F("nameValuePair","does not satisfy required maxItems constraint: 10")}return"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("lastUpdatedTime","undefined or null")}}function Eh(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Oh.prototype.nameValuePair=void 0,Oh.prototype.lastUpdatedTime=void 0,Oh.prototype.$reserved=void 0,Oh.prototype.$objectType=void 0,Oh.prototype.$unknownFields=void 0;var Ih=new WeakSet;class Ph{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ih),i.add(n),this.grantType=e,this.clientId=t,this.$objectType="iam.v4.authn.TokenRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ph,e.hasOwnProperty("grant_type")&&null!==e.grant_type&&void 0!==e.grant_type&&t.setGrantType(xl.constructFromObject(e.grant_type)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("connector_id")&&null!==e.connector_id&&void 0!==e.connector_id&&t.setConnectorId(e.connector_id),e.hasOwnProperty("scope")&&null!==e.scope&&void 0!==e.scope&&t.setScope(e.scope),e.hasOwnProperty("refresh_token")&&null!==e.refresh_token&&void 0!==e.refresh_token&&t.setRefreshToken(e.refresh_token),e.hasOwnProperty("client_id")&&null!==e.client_id&&void 0!==e.client_id&&t.setClientId(e.client_id),e.hasOwnProperty("client_assertion_type")&&null!==e.client_assertion_type&&void 0!==e.client_assertion_type&&t.setClientAssertionType(e.client_assertion_type),e.hasOwnProperty("client_assertion")&&null!==e.client_assertion&&void 0!==e.client_assertion&&t.setClientAssertion(e.client_assertion),e.hasOwnProperty("redirect_uri")&&null!==e.redirect_uri&&void 0!==e.redirect_uri&&t.setRedirectUri(e.redirect_uri),e.hasOwnProperty("audience")&&null!==e.audience&&void 0!==e.audience&&t.setAudience(e.audience),e.hasOwnProperty("subject_token")&&null!==e.subject_token&&void 0!==e.subject_token&&t.setSubjectToken(e.subject_token),e.hasOwnProperty("subject_token_type")&&null!==e.subject_token_type&&void 0!==e.subject_token_type&&t.setSubjectTokenType(jh.constructFromObject(e.subject_token_type)),e.hasOwnProperty("non_tenant_issuer")&&null!==e.non_tenant_issuer&&void 0!==e.non_tenant_issuer&&t.setNonTenantIssuer(e.non_tenant_issuer),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGrantType(){return this.grantType}setGrantType(e){this.grantType=e}getCode(){return this.code}setCode(e){this.code=e}getConnectorId(){return this.connectorId}setConnectorId(e){this.connectorId=e}getScope(){return this.scope}setScope(e){this.scope=e}getRefreshToken(){return this.refreshToken}setRefreshToken(e){this.refreshToken=e}getClientId(){return this.clientId}setClientId(e){this.clientId=e}getClientAssertionType(){return this.clientAssertionType}setClientAssertionType(e){this.clientAssertionType=e}getClientAssertion(){return this.clientAssertion}setClientAssertion(e){this.clientAssertion=e}getRedirectUri(){return this.redirectUri}setRedirectUri(e){this.redirectUri=e}getAudience(){return this.audience}setAudience(e){this.audience=e}getSubjectToken(){return this.subjectToken}setSubjectToken(e){this.subjectToken=e}getSubjectTokenType(){return this.subjectTokenType}setSubjectTokenType(e){this.subjectTokenType=e}getNonTenantIssuer(){return this.nonTenantIssuer}setNonTenantIssuer(e){this.nonTenantIssuer=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGrantType()&&null!==this.getGrantType()?{grant_type:this.getGrantType()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getConnectorId()&&null!==this.getConnectorId()?{connector_id:this.getConnectorId()}:{},...void 0!==this.getScope()&&null!==this.getScope()?{scope:this.getScope()}:{},...void 0!==this.getRefreshToken()&&null!==this.getRefreshToken()?{refresh_token:this.getRefreshToken()}:{},...void 0!==this.getClientId()&&null!==this.getClientId()?{client_id:this.getClientId()}:{},...void 0!==this.getClientAssertionType()&&null!==this.getClientAssertionType()?{client_assertion_type:this.getClientAssertionType()}:{},...void 0!==this.getClientAssertion()&&null!==this.getClientAssertion()?{client_assertion:this.getClientAssertion()}:{},...void 0!==this.getRedirectUri()&&null!==this.getRedirectUri()?{redirect_uri:this.getRedirectUri()}:{},...void 0!==this.getAudience()&&null!==this.getAudience()?{audience:this.getAudience()}:{},...void 0!==this.getSubjectToken()&&null!==this.getSubjectToken()?{subject_token:this.getSubjectToken()}:{},...void 0!==this.getSubjectTokenType()&&null!==this.getSubjectTokenType()?{subject_token_type:this.getSubjectTokenType()}:{},...void 0!==this.getNonTenantIssuer()&&null!==this.getNonTenantIssuer()?{non_tenant_issuer:this.getNonTenantIssuer()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["grantType","clientId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("grantType"===t&&(void 0===this.grantType||null===this.grantType))return new F("grantType","undefined or null");if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("connectorId"===t&&(void 0===this.connectorId||null===this.connectorId))return new F("connectorId","undefined or null");if("scope"===t){if(void 0===this.scope||null===this.scope)return new F("scope","undefined or null");if(!k.validateMaxLength(this.scope,100))return new F("scope","does not satisfy required maxLength constraint: 100");if(!k.validateMinLength(this.scope,1))return new F("scope","does not satisfy required minLength constraint: 1")}if("refreshToken"===t&&(void 0===this.refreshToken||null===this.refreshToken))return new F("refreshToken","undefined or null");if("clientId"===t&&(void 0===this.clientId||null===this.clientId))return new F("clientId","undefined or null");if("clientAssertionType"===t&&(void 0===this.clientAssertionType||null===this.clientAssertionType))return new F("clientAssertionType","undefined or null");if("clientAssertion"===t&&(void 0===this.clientAssertion||null===this.clientAssertion))return new F("clientAssertion","undefined or null");if("redirectUri"===t){if(void 0===this.redirectUri||null===this.redirectUri)return new F("redirectUri","undefined or null");if(!k.validatePattern(this.redirectUri,/^((http[s]?|nfs):\/)?\/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(\/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/))return new F("redirectUri","does not satisfy required pattern: /^((http[s]?|nfs):/)?/?(([a-zA-Z0-9\\-\\.]+)|(\\d{1,3}(\\.\\d{1,3}){3})|(\\[[0-9a-fA-F:]+\\]))(:\\d+)?(/[^\\s?#]*)?(\\?[^#\\s]*)?(#[^\\s]*)?$/")}return"audience"!==t||void 0!==this.audience&&null!==this.audience?"subjectToken"!==t||void 0!==this.subjectToken&&null!==this.subjectToken?"subjectTokenType"!==t||void 0!==this.subjectTokenType&&null!==this.subjectTokenType?"nonTenantIssuer"!==t||void 0!==this.nonTenantIssuer&&null!==this.nonTenantIssuer?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("nonTenantIssuer","undefined or null"):new F("subjectTokenType","undefined or null"):new F("subjectToken","undefined or null"):new F("audience","undefined or null")}}Ph.prototype.grantType=void 0,Ph.prototype.code=void 0,Ph.prototype.connectorId=void 0,Ph.prototype.scope=void 0,Ph.prototype.refreshToken=void 0,Ph.prototype.clientId=void 0,Ph.prototype.clientAssertionType=void 0,Ph.prototype.clientAssertion=void 0,Ph.prototype.redirectUri=void 0,Ph.prototype.audience=void 0,Ph.prototype.subjectToken=void 0,Ph.prototype.subjectTokenType=void 0,Ph.prototype.nonTenantIssuer=void 0,Ph.prototype.$reserved=void 0,Ph.prototype.$objectType=void 0,Ph.prototype.$unknownFields=void 0;var Ah=new WeakSet;class Ch{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ah),i.add(n),this.username=e,this.password=t,this.$objectType="iam.v4.authn.ValidateCredentialsRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ch,e.hasOwnProperty("username")&&null!==e.username&&void 0!==e.username&&t.setUsername(e.username),e.hasOwnProperty("password")&&null!==e.password&&void 0!==e.password&&t.setPassword(e.password),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getUsername(){return this.username}setUsername(e){this.username=e}getPassword(){return this.password}setPassword(e){this.password=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getUsername()&&null!==this.getUsername()?{username:this.getUsername()}:{},...void 0!==this.getPassword()&&null!==this.getPassword()?{password:this.getPassword()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["username","password"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("username"===t){if(void 0===this.username||null===this.username)return new F("username","undefined or null");if(!k.validateMaxLength(this.username,255))return new F("username","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.username,1))return new F("username","does not satisfy required minLength constraint: 1")}if("password"===t){if(void 0===this.password||null===this.password)return new F("password","undefined or null");if(!k.validateMaxLength(this.password,255))return new F("password","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.password,1))return new F("password","does not satisfy required minLength constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function Dh(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ch.prototype.username=void 0,Ch.prototype.password=void 0,Ch.prototype.$reserved=void 0,Ch.prototype.$objectType=void 0,Ch.prototype.$unknownFields=void 0;var Uh=new WeakSet;class Nh extends si{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Uh),t.add(e),this.$objectType="iam.v4.authz.AuthorizationPolicyConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Nh,si.constructFromObject(e,t,!0),e.hasOwnProperty("opaquedata")&&null!==e.opaquedata&&void 0!==e.opaquedata&&t.setOpaquedata(e.opaquedata),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOpaquedata(){return this.opaquedata}setOpaquedata(e){this.opaquedata=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Dh(Uh,this,Sh).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Dh(Uh,this,Sh).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOpaquedata()&&null!==this.getOpaquedata()?{opaquedata:this.getOpaquedata()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getIdentities()&&null!==this.getIdentities()?{identities:this.getIdentities().map(e=>e.toJson(!1))}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getAuthorizationPolicyType()&&null!==this.getAuthorizationPolicyType()?{authorizationPolicyType:this.getAuthorizationPolicyType()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"opaquedata"!==t||void 0!==this.opaquedata&&null!==this.opaquedata?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("opaquedata","undefined or null")}}function Sh(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Nh.prototype.opaquedata=void 0,Nh.prototype.isInternal=!1,si.prototype.identities=void 0,si.prototype.projectExtId=void 0,si.prototype.isSharedWithAllProjects=void 0,si.prototype.createdTime=void 0,si.prototype.lastUpdatedTime=void 0,si.prototype.createdBy=void 0,si.prototype.isSystemDefined=!0,si.prototype.authorizationPolicyType=void 0,si.prototype.assignedUsersCount=void 0,si.prototype.assignedUserGroupsCount=void 0,Qn.prototype.displayName=void 0,Qn.prototype.description=void 0,Qn.prototype.clientName=void 0,Qn.prototype.entities=void 0,Qn.prototype.role=void 0,Qn.prototype.isGlobal=!1,Qn.prototype.domainExtIds=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const Rh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",USER:"User",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Rh).find(t=>Rh[t]===e);return null==t?Rh.$UNKNOWN:Rh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Rh.$UNKNOWN:case Rh.$REDACTED:case Rh.USER:return;default:throw new Error("Invalid : must be IdentityType.{ $UNKNOWN|$REDACTED|USER }")}}};Object.freeze(Rh);const xh=Rh;var Lh=new WeakSet;class Mh{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Lh),t.add(e),this.$objectType="iam.v4.authz.IdentityObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mh,e.hasOwnProperty("identityType")&&null!==e.identityType&&void 0!==e.identityType&&t.setIdentityType(xh.constructFromObject(e.identityType)),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityType(){return this.identityType}setIdentityType(e){this.identityType=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityType()&&null!==this.getIdentityType()?{identityType:this.getIdentityType()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"identityType"!==t||void 0!==this.identityType&&null!==this.identityType?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("identityType","undefined or null")}}Mh.prototype.identityType=void 0,Mh.prototype.attributes=void 0,Mh.prototype.$reserved=void 0,Mh.prototype.$objectType=void 0,Mh.prototype.$unknownFields=void 0;var Jh=new WeakSet;class _h{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Jh),i.add(n),this.type=e,this.operation=t,this.$objectType="iam.v4.authz.AuthorizeEntity",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _h,e.hasOwnProperty("type")&&null!==e.type&&void 0!==e.type&&t.setType(e.type),e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(e.operation),e.hasOwnProperty("attributes")&&null!==e.attributes&&void 0!==e.attributes&&t.setAttributes(e.attributes),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getType(){return this.type}setType(e){this.type=e}getOperation(){return this.operation}setOperation(e){this.operation=e}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getType()&&null!==this.getType()?{type:this.getType()}:{},...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getAttributes()&&null!==this.getAttributes()?{attributes:this.getAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["type","operation"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"type"!==t||void 0!==this.type&&null!==this.type?"operation"!==t||void 0!==this.operation&&null!==this.operation?"attributes"!==t||void 0!==this.attributes&&null!==this.attributes?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("attributes","undefined or null"):new F("operation","undefined or null"):new F("type","undefined or null")}}_h.prototype.type=void 0,_h.prototype.operation=void 0,_h.prototype.attributes=void 0,_h.prototype.$reserved=void 0,_h.prototype.$objectType=void 0,_h.prototype.$unknownFields=void 0;const Wh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",BOOLEANRESPONSE:"BooleanResponse",FILTERRESPONSE:"FilterResponse",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Wh).find(t=>Wh[t]===e);return null==t?Wh.$UNKNOWN:Wh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wh.$UNKNOWN:case Wh.$REDACTED:case Wh.BOOLEANRESPONSE:case Wh.FILTERRESPONSE:return;default:throw new Error("Invalid : must be ResponseType.{ $UNKNOWN|$REDACTED|BOOLEANRESPONSE|FILTERRESPONSE }")}}};Object.freeze(Wh);const Kh=Wh;var qh=new WeakSet;class Bh{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=qh),i.add(n),this.requestID=e,this.entity=t,this.$objectType="iam.v4.authz.RequestObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bh,e.hasOwnProperty("requestID")&&null!==e.requestID&&void 0!==e.requestID&&t.setRequestID(e.requestID),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Kh.constructFromObject(e.responseType)),e.hasOwnProperty("entity")&&null!==e.entity&&void 0!==e.entity&&t.setEntity(_h.constructFromObject(e.entity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestID(){return this.requestID}setRequestID(e){this.requestID=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getEntity(){return this.entity}setEntity(e){this.entity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestID()&&null!==this.getRequestID()?{requestID:this.getRequestID()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getEntity()&&null!==this.getEntity()?{entity:this.getEntity().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["requestID","entity"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestID"!==t||void 0!==this.requestID&&null!==this.requestID?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"entity"!==t||void 0!==this.entity&&null!==this.entity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("entity","undefined or null"):new F("responseType","undefined or null"):new F("requestID","undefined or null")}}Bh.prototype.requestID=void 0,Bh.prototype.responseType=void 0,Bh.prototype.entity=void 0,Bh.prototype.$reserved=void 0,Bh.prototype.$objectType=void 0,Bh.prototype.$unknownFields=void 0;var zh=new WeakSet;class Gh{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=zh),i.add(n),this.identity=e,this.requestList=t,this.$objectType="iam.v4.authz.AuthorizationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Gh,e.hasOwnProperty("identity")&&null!==e.identity&&void 0!==e.identity&&t.setIdentity(Mh.constructFromObject(e.identity)),e.hasOwnProperty("requestList")&&null!==e.requestList&&void 0!==e.requestList){for(o=[],i=e.requestList,r=0;r<i.length;r++)s=Bh.constructFromObject(i[r],void 0),o.push(s);t.setRequestList(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentity(){return this.identity}setIdentity(e){this.identity=e}getRequestList(){return this.requestList}setRequestList(e){this.requestList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentity()&&null!==this.getIdentity()?{identity:this.getIdentity().toJson(!1)}:{},...void 0!==this.getRequestList()&&null!==this.getRequestList()?{requestList:this.getRequestList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["identity","requestList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identity"===t&&(void 0===this.identity||null===this.identity))return new F("identity","undefined or null");if("requestList"===t){if(void 0===this.requestList||null===this.requestList)return new F("requestList","undefined or null");if(!k.validateMaxItems(this.requestList,25))return new F("requestList","does not satisfy required maxItems constraint: 25");if(!k.validateMinItems(this.requestList,1))return new F("requestList","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Gh.prototype.identity=void 0,Gh.prototype.requestList=void 0,Gh.prototype.$reserved=void 0,Gh.prototype.$objectType=void 0,Gh.prototype.$unknownFields=void 0;var Vh=new WeakSet;class Hh{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vh),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponseObject",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hh,e.hasOwnProperty("requestId")&&null!==e.requestId&&void 0!==e.requestId&&t.setRequestId(e.requestId),e.hasOwnProperty("responseType")&&null!==e.responseType&&void 0!==e.responseType&&t.setResponseType(Kh.constructFromObject(e.responseType)),e.hasOwnProperty("authorized")&&null!==e.authorized&&void 0!==e.authorized&&t.setAuthorized(e.authorized),e.hasOwnProperty("filters")&&null!==e.filters&&void 0!==e.filters&&t.setFilters(e.filters),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRequestId(){return this.requestId}setRequestId(e){this.requestId=e}getResponseType(){return this.responseType}setResponseType(e){this.responseType=e}getAuthorized(){return this.authorized}setAuthorized(e){this.authorized=e}getFilters(){return this.filters}setFilters(e){this.filters=e}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRequestId()&&null!==this.getRequestId()?{requestId:this.getRequestId()}:{},...void 0!==this.getResponseType()&&null!==this.getResponseType()?{responseType:this.getResponseType()}:{},...void 0!==this.getAuthorized()&&null!==this.getAuthorized()?{authorized:this.getAuthorized()}:{},...void 0!==this.getFilters()&&null!==this.getFilters()?{filters:this.getFilters()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"requestId"!==t||void 0!==this.requestId&&null!==this.requestId?"responseType"!==t||void 0!==this.responseType&&null!==this.responseType?"authorized"!==t||void 0!==this.authorized&&null!==this.authorized?"filters"!==t||void 0!==this.filters&&null!==this.filters?"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null"):new F("filters","undefined or null"):new F("authorized","undefined or null"):new F("responseType","undefined or null"):new F("requestId","undefined or null")}}Hh.prototype.requestId=void 0,Hh.prototype.responseType=void 0,Hh.prototype.authorized=void 0,Hh.prototype.filters=void 0,Hh.prototype.message=void 0,Hh.prototype.$reserved=void 0,Hh.prototype.$objectType=void 0,Hh.prototype.$unknownFields=void 0;var Yh=new WeakSet;class Xh{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Yh),t.add(e),this.$objectType="iam.v4.authz.AuthorizationResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xh,e.hasOwnProperty("response")&&null!==e.response&&void 0!==e.response){for(o=[],i=e.response,r=0;r<i.length;r++)s=Hh.constructFromObject(i[r],void 0),o.push(s);t.setResponse(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResponse(){return this.response}setResponse(e){this.response=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getResponse()&&null!==this.getResponse()?{response:this.getResponse().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("response"===t){if(void 0===this.response||null===this.response)return new F("response","undefined or null");if(!k.validateMaxItems(this.response,25))return new F("response","does not satisfy required maxItems constraint: 25");if(!k.validateMinItems(this.response,1))return new F("response","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xh.prototype.response=void 0,Xh.prototype.$reserved=void 0,Xh.prototype.$objectType=void 0,Xh.prototype.$unknownFields=void 0;var Zh=new WeakSet;class Qh extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Zh),t.add(e),this.$objectType="iam.v4.authz.AuthzMigrationFlags",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qh,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("flagName")&&null!==e.flagName&&void 0!==e.flagName&&t.setFlagName(e.flagName),e.hasOwnProperty("flagValue")&&null!==e.flagValue&&void 0!==e.flagValue&&t.setFlagValue(e.flagValue),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlagName(){return this.flagName}setFlagName(e){this.flagName=e}getFlagValue(){return this.flagValue}setFlagValue(e){this.flagValue=e}toJson(e){return!1===e?{...void 0!==this.getFlagName()&&null!==this.getFlagName()?{flagName:this.getFlagName()}:{},...void 0!==this.getFlagValue()&&null!==this.getFlagValue()?{flagValue:this.getFlagValue()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getFlagName()&&null!==this.getFlagName()?{flagName:this.getFlagName()}:{},...void 0!==this.getFlagValue()&&null!==this.getFlagValue()?{flagValue:this.getFlagValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"flagName"!==t||void 0!==this.flagName&&null!==this.flagName?"flagValue"!==t||void 0!==this.flagValue&&null!==this.flagValue?new F(t,"no such property exists"):new F("flagValue","undefined or null"):new F("flagName","undefined or null")}}Qh.prototype.flagName=void 0,Qh.prototype.flagValue=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const eu={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",REMOVE_AP_TENANT_ID_FILTERS:"REMOVE_AP_TENANT_ID_FILTERS",NC_USER_AP_TO_USER_DEFINED:"NC_USER_AP_TO_USER_DEFINED",ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:"ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS",REMOVE_CLIENT_FOUNDATION_CENTRAL:"REMOVE_CLIENT_FOUNDATION_CENTRAL",MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:"MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM",REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:"REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION",SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE:"SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE",MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP:"MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(eu).find(t=>eu[t]===e);return null==t?eu.$UNKNOWN:eu[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case eu.$UNKNOWN:case eu.$REDACTED:case eu.REMOVE_AP_TENANT_ID_FILTERS:case eu.NC_USER_AP_TO_USER_DEFINED:case eu.ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS:case eu.REMOVE_CLIENT_FOUNDATION_CENTRAL:case eu.MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM:case eu.REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION:case eu.SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE:case eu.MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP:return;default:throw new Error("Invalid : must be AuthzMigrationType.{ $UNKNOWN|$REDACTED|REMOVE_AP_TENANT_ID_FILTERS|NC_USER_AP_TO_USER_DEFINED|ASSIGN_BASIC_USER_AP_TO_NC_USER_AP_USERS_USERGROUPS|REMOVE_CLIENT_FOUNDATION_CENTRAL|MOVE_ROLES_APS_FROM_PRISM_CLOUD_IAM|REMOVE_DUPLICATE_APS_AFTER_NAMESPACE_MIGRATION|SYNC_AP_TO_AUTHZ_FILTER_SEARCH_TABLE|MIGRATE_PROJECT_AP_TO_ROLE_MEMBERSHIP }")}}};Object.freeze(eu);const tu=eu;var nu=new WeakSet;class iu{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=nu),i.add(n),this.identityExtId=e,this.idpExtId=t,this.$objectType="iam.v4.authz.IdentityIdpMapping",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new iu,e.hasOwnProperty("identityExtId")&&null!==e.identityExtId&&void 0!==e.identityExtId&&t.setIdentityExtId(e.identityExtId),e.hasOwnProperty("idpExtId")&&null!==e.idpExtId&&void 0!==e.idpExtId&&t.setIdpExtId(e.idpExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIdentityExtId(){return this.identityExtId}setIdentityExtId(e){this.identityExtId=e}getIdpExtId(){return this.idpExtId}setIdpExtId(e){this.idpExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIdentityExtId()&&null!==this.getIdentityExtId()?{identityExtId:this.getIdentityExtId()}:{},...void 0!==this.getIdpExtId()&&null!==this.getIdpExtId()?{idpExtId:this.getIdpExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["identityExtId","idpExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("identityExtId"===t){if(void 0===this.identityExtId||null===this.identityExtId)return new F("identityExtId","undefined or null");if(!k.validatePattern(this.identityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("identityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("idpExtId"===t){if(void 0===this.idpExtId||null===this.idpExtId)return new F("idpExtId","undefined or null");if(!k.validatePattern(this.idpExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("idpExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}iu.prototype.identityExtId=void 0,iu.prototype.idpExtId=void 0,iu.prototype.$reserved=void 0,iu.prototype.$objectType=void 0,iu.prototype.$unknownFields=void 0;var su=new WeakSet;class ru{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=su),i.add(n),this.projectExtId=e,this.apExtIds=t,this.$objectType="iam.v4.authz.ProjectApMigrationData",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ru,e.hasOwnProperty("projectExtId")&&null!==e.projectExtId&&void 0!==e.projectExtId&&t.setProjectExtId(e.projectExtId),e.hasOwnProperty("apExtIds")&&null!==e.apExtIds&&void 0!==e.apExtIds){for(o=[],i=e.apExtIds,r=0;r<i.length;r++)o.push(i[r]);t.setApExtIds(o)}if(e.hasOwnProperty("userIdpMappings")&&null!==e.userIdpMappings&&void 0!==e.userIdpMappings){for(o=[],i=e.userIdpMappings,r=0;r<i.length;r++)s=iu.constructFromObject(i[r],void 0),o.push(s);t.setUserIdpMappings(o)}if(e.hasOwnProperty("userGroupIdpMappings")&&null!==e.userGroupIdpMappings&&void 0!==e.userGroupIdpMappings){for(o=[],i=e.userGroupIdpMappings,r=0;r<i.length;r++)s=iu.constructFromObject(i[r],void 0),o.push(s);t.setUserGroupIdpMappings(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProjectExtId(){return this.projectExtId}setProjectExtId(e){this.projectExtId=e}getApExtIds(){return this.apExtIds}setApExtIds(e){this.apExtIds=e}getUserIdpMappings(){return this.userIdpMappings}setUserIdpMappings(e){this.userIdpMappings=e}getUserGroupIdpMappings(){return this.userGroupIdpMappings}setUserGroupIdpMappings(e){this.userGroupIdpMappings=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getApExtIds()&&null!==this.getApExtIds()?{apExtIds:this.getApExtIds()}:{},...void 0!==this.getUserIdpMappings()&&null!==this.getUserIdpMappings()?{userIdpMappings:this.getUserIdpMappings().map(e=>e.toJson(!1))}:{},...void 0!==this.getUserGroupIdpMappings()&&null!==this.getUserGroupIdpMappings()?{userGroupIdpMappings:this.getUserGroupIdpMappings().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["projectExtId","apExtIds"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("projectExtId"===t){if(void 0===this.projectExtId||null===this.projectExtId)return new F("projectExtId","undefined or null");if(!k.validatePattern(this.projectExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("projectExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("apExtIds"===t){if(void 0===this.apExtIds||null===this.apExtIds)return new F("apExtIds","undefined or null");if(!k.validateMaxItems(this.apExtIds,10))return new F("apExtIds","does not satisfy required maxItems constraint: 10");if(!k.validateMinItems(this.apExtIds,1))return new F("apExtIds","does not satisfy required minItems constraint: 1")}if("userIdpMappings"===t){if(void 0===this.userIdpMappings||null===this.userIdpMappings)return new F("userIdpMappings","undefined or null");if(!k.validateMaxItems(this.userIdpMappings,100))return new F("userIdpMappings","does not satisfy required maxItems constraint: 100")}if("userGroupIdpMappings"===t){if(void 0===this.userGroupIdpMappings||null===this.userGroupIdpMappings)return new F("userGroupIdpMappings","undefined or null");if(!k.validateMaxItems(this.userGroupIdpMappings,100))return new F("userGroupIdpMappings","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ru.prototype.projectExtId=void 0,ru.prototype.apExtIds=void 0,ru.prototype.userIdpMappings=void 0,ru.prototype.userGroupIdpMappings=void 0,ru.prototype.$reserved=void 0,ru.prototype.$objectType=void 0,ru.prototype.$unknownFields=void 0;var ou=new WeakSet;class au{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ou),n.add(t),this.migrationType=e,this.$objectType="iam.v4.authz.AuthzMigrationRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new au,e.hasOwnProperty("migrationType")&&null!==e.migrationType&&void 0!==e.migrationType&&t.setMigrationType(tu.constructFromObject(e.migrationType)),e.hasOwnProperty("projectApMigrationData")&&null!==e.projectApMigrationData&&void 0!==e.projectApMigrationData&&t.setProjectApMigrationData(ru.constructFromObject(e.projectApMigrationData)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMigrationType(){return this.migrationType}setMigrationType(e){this.migrationType=e}getProjectApMigrationData(){return this.projectApMigrationData}setProjectApMigrationData(e){this.projectApMigrationData=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMigrationType()&&null!==this.getMigrationType()?{migrationType:this.getMigrationType()}:{},...void 0!==this.getProjectApMigrationData()&&null!==this.getProjectApMigrationData()?{projectApMigrationData:this.getProjectApMigrationData().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["migrationType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"migrationType"!==t||void 0!==this.migrationType&&null!==this.migrationType?"projectApMigrationData"!==t||void 0!==this.projectApMigrationData&&null!==this.projectApMigrationData?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("projectApMigrationData","undefined or null"):new F("migrationType","undefined or null")}}au.prototype.migrationType=void 0,au.prototype.projectApMigrationData=void 0,au.prototype.$reserved=void 0,au.prototype.$objectType=void 0,au.prototype.$unknownFields=void 0;class du extends ai{constructor(){super(),this.$objectType="iam.v4.authz.BaseRoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new du,ai.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var lu=new WeakSet;class hu extends Qn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=lu),t.add(e),this.$objectType="iam.v4.authz.BaseAuthorizationPolicyProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hu,Qn.constructFromObject(e,t,!0),e.hasOwnProperty("baseRoleProjection")&&null!==e.baseRoleProjection&&void 0!==e.baseRoleProjection&&t.setBaseRoleProjection(du.constructFromObject(e.baseRoleProjection)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBaseRoleProjection(){return this.baseRoleProjection}setBaseRoleProjection(e){this.baseRoleProjection=e}toJson(e){return!1===e?{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getBaseRoleProjection()&&null!==this.getBaseRoleProjection()?{baseRoleProjection:this.getBaseRoleProjection().toJson(!1)}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRole()&&null!==this.getRole()?{role:this.getRole()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getDomainExtIds()&&null!==this.getDomainExtIds()?{domainExtIds:this.getDomainExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"baseRoleProjection"!==t||void 0!==this.baseRoleProjection&&null!==this.baseRoleProjection?new F(t,"no such property exists"):new F("baseRoleProjection","undefined or null")}}function uu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}hu.prototype.baseRoleProjection=void 0,Qn.prototype.displayName=void 0,Qn.prototype.description=void 0,Qn.prototype.clientName=void 0,Qn.prototype.entities=void 0,Qn.prototype.role=void 0,Qn.prototype.isGlobal=!1,Qn.prototype.domainExtIds=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var cu=new WeakSet;class pu extends _i{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=cu),i.add(n),this.$objectType="iam.v4.authz.ClientConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pu,_i.constructFromObject(e,t,!0),e.hasOwnProperty("legacyClientName")&&null!==e.legacyClientName&&void 0!==e.legacyClientName&&t.setLegacyClientName(e.legacyClientName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyClientName(){return this.legacyClientName}setLegacyClientName(e){this.legacyClientName=e}toJson(e){return!1===e?{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:uu(cu,this,yu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:uu(cu,this,yu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyClientName()&&null!==this.getLegacyClientName()?{legacyClientName:this.getLegacyClientName()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDeploymentList()&&null!==this.getDeploymentList()?{deploymentList:this.getDeploymentList()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["name","displayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyClientName"!==t||void 0!==this.legacyClientName&&null!==this.legacyClientName?new F(t,"no such property exists"):new F("legacyClientName","undefined or null")}}function yu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}pu.prototype.legacyClientName=void 0,_i.prototype.name=void 0,_i.prototype.description=void 0,_i.prototype.displayName=void 0,_i.prototype.createdTime=void 0,_i.prototype.lastUpdatedTime=void 0,_i.prototype.createdBy=void 0,_i.prototype.deploymentList=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var gu=new WeakSet;class vu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataObjects",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new vu,e.hasOwnProperty("addedObjects")&&null!==e.addedObjects&&void 0!==e.addedObjects){for(r=[],i=e.addedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setAddedObjects(r)}if(e.hasOwnProperty("removedObjects")&&null!==e.removedObjects&&void 0!==e.removedObjects){for(r=[],i=e.removedObjects,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedObjects(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedObjects(){return this.addedObjects}setAddedObjects(e){this.addedObjects=e}getRemovedObjects(){return this.removedObjects}setRemovedObjects(e){this.removedObjects=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedObjects()&&null!==this.getAddedObjects()?{addedObjects:this.getAddedObjects()}:{},...void 0!==this.getRemovedObjects()&&null!==this.getRemovedObjects()?{removedObjects:this.getRemovedObjects()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedObjects"===t){if(void 0===this.addedObjects||null===this.addedObjects)return new F("addedObjects","undefined or null");if(!k.validateMaxItems(this.addedObjects,20))return new F("addedObjects","does not satisfy required maxItems constraint: 20");if(!k.validateMinItems(this.addedObjects,1))return new F("addedObjects","does not satisfy required minItems constraint: 1")}if("removedObjects"===t){if(void 0===this.removedObjects||null===this.removedObjects)return new F("removedObjects","undefined or null");if(!k.validateMaxItems(this.removedObjects,20))return new F("removedObjects","does not satisfy required maxItems constraint: 20");if(!k.validateMinItems(this.removedObjects,1))return new F("removedObjects","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}vu.prototype.addedObjects=void 0,vu.prototype.removedObjects=void 0,vu.prototype.$reserved=void 0,vu.prototype.$objectType=void 0,vu.prototype.$unknownFields=void 0;var mu=new WeakSet;class $u{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=mu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetDataOperations",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new $u,e.hasOwnProperty("addedOperations")&&null!==e.addedOperations&&void 0!==e.addedOperations){for(r=[],i=e.addedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setAddedOperations(r)}if(e.hasOwnProperty("removedOperations")&&null!==e.removedOperations&&void 0!==e.removedOperations){for(r=[],i=e.removedOperations,s=0;s<i.length;s++)r.push(i[s]);t.setRemovedOperations(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAddedOperations(){return this.addedOperations}setAddedOperations(e){this.addedOperations=e}getRemovedOperations(){return this.removedOperations}setRemovedOperations(e){this.removedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAddedOperations()&&null!==this.getAddedOperations()?{addedOperations:this.getAddedOperations()}:{},...void 0!==this.getRemovedOperations()&&null!==this.getRemovedOperations()?{removedOperations:this.getRemovedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("addedOperations"===t){if(void 0===this.addedOperations||null===this.addedOperations)return new F("addedOperations","undefined or null");if(!k.validateMaxItems(this.addedOperations,20))return new F("addedOperations","does not satisfy required maxItems constraint: 20");if(!k.validateMinItems(this.addedOperations,1))return new F("addedOperations","does not satisfy required minItems constraint: 1")}if("removedOperations"===t){if(void 0===this.removedOperations||null===this.removedOperations)return new F("removedOperations","undefined or null");if(!k.validateMaxItems(this.removedOperations,20))return new F("removedOperations","does not satisfy required maxItems constraint: 20");if(!k.validateMinItems(this.removedOperations,1))return new F("removedOperations","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}$u.prototype.addedOperations=void 0,$u.prototype.removedOperations=void 0,$u.prototype.$reserved=void 0,$u.prototype.$objectType=void 0,$u.prototype.$unknownFields=void 0;var wu=new WeakSet;class fu{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=wu),i.add(n),this.newDisplayName=e,this.previousDisplayName=t,this.$objectType="iam.v4.authz.ConfigChangesetDisplayName",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fu,e.hasOwnProperty("newDisplayName")&&null!==e.newDisplayName&&void 0!==e.newDisplayName&&t.setNewDisplayName(e.newDisplayName),e.hasOwnProperty("previousDisplayName")&&null!==e.previousDisplayName&&void 0!==e.previousDisplayName&&t.setPreviousDisplayName(e.previousDisplayName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNewDisplayName(){return this.newDisplayName}setNewDisplayName(e){this.newDisplayName=e}getPreviousDisplayName(){return this.previousDisplayName}setPreviousDisplayName(e){this.previousDisplayName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNewDisplayName()&&null!==this.getNewDisplayName()?{newDisplayName:this.getNewDisplayName()}:{},...void 0!==this.getPreviousDisplayName()&&null!==this.getPreviousDisplayName()?{previousDisplayName:this.getPreviousDisplayName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["newDisplayName","previousDisplayName"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("newDisplayName"===t){if(void 0===this.newDisplayName||null===this.newDisplayName)return new F("newDisplayName","undefined or null");if(!k.validateMaxLength(this.newDisplayName,255))return new F("newDisplayName","does not satisfy required maxLength constraint: 255")}if("previousDisplayName"===t){if(void 0===this.previousDisplayName||null===this.previousDisplayName)return new F("previousDisplayName","undefined or null");if(!k.validateMaxLength(this.previousDisplayName,255))return new F("previousDisplayName","does not satisfy required maxLength constraint: 255")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}fu.prototype.newDisplayName=void 0,fu.prototype.previousDisplayName=void 0,fu.prototype.$reserved=void 0,fu.prototype.$objectType=void 0,fu.prototype.$unknownFields=void 0;var bu=new WeakSet;class Tu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=bu),t.add(e),this.$objectType="iam.v4.authz.ConfigChangesetData",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tu,e.hasOwnProperty("displayNameChangeset")&&null!==e.displayNameChangeset&&void 0!==e.displayNameChangeset&&t.setDisplayNameChangeset(fu.constructFromObject(e.displayNameChangeset)),e.hasOwnProperty("legacyObjectListChangeset")&&null!==e.legacyObjectListChangeset&&void 0!==e.legacyObjectListChangeset&&t.setLegacyObjectListChangeset(vu.constructFromObject(e.legacyObjectListChangeset)),e.hasOwnProperty("legacyOperationListChangeset")&&null!==e.legacyOperationListChangeset&&void 0!==e.legacyOperationListChangeset&&t.setLegacyOperationListChangeset($u.constructFromObject(e.legacyOperationListChangeset)),e.hasOwnProperty("legacyParentOperationListChangeset")&&null!==e.legacyParentOperationListChangeset&&void 0!==e.legacyParentOperationListChangeset&&t.setLegacyParentOperationListChangeset($u.constructFromObject(e.legacyParentOperationListChangeset)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayNameChangeset(){return this.displayNameChangeset}setDisplayNameChangeset(e){this.displayNameChangeset=e}getLegacyObjectListChangeset(){return this.legacyObjectListChangeset}setLegacyObjectListChangeset(e){this.legacyObjectListChangeset=e}getLegacyOperationListChangeset(){return this.legacyOperationListChangeset}setLegacyOperationListChangeset(e){this.legacyOperationListChangeset=e}getLegacyParentOperationListChangeset(){return this.legacyParentOperationListChangeset}setLegacyParentOperationListChangeset(e){this.legacyParentOperationListChangeset=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDisplayNameChangeset()&&null!==this.getDisplayNameChangeset()?{displayNameChangeset:this.getDisplayNameChangeset().toJson(!1)}:{},...void 0!==this.getLegacyObjectListChangeset()&&null!==this.getLegacyObjectListChangeset()?{legacyObjectListChangeset:this.getLegacyObjectListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyOperationListChangeset()&&null!==this.getLegacyOperationListChangeset()?{legacyOperationListChangeset:this.getLegacyOperationListChangeset().toJson(!1)}:{},...void 0!==this.getLegacyParentOperationListChangeset()&&null!==this.getLegacyParentOperationListChangeset()?{legacyParentOperationListChangeset:this.getLegacyParentOperationListChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"displayNameChangeset"!==t||void 0!==this.displayNameChangeset&&null!==this.displayNameChangeset?"legacyObjectListChangeset"!==t||void 0!==this.legacyObjectListChangeset&&null!==this.legacyObjectListChangeset?"legacyOperationListChangeset"!==t||void 0!==this.legacyOperationListChangeset&&null!==this.legacyOperationListChangeset?"legacyParentOperationListChangeset"!==t||void 0!==this.legacyParentOperationListChangeset&&null!==this.legacyParentOperationListChangeset?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("legacyParentOperationListChangeset","undefined or null"):new F("legacyOperationListChangeset","undefined or null"):new F("legacyObjectListChangeset","undefined or null"):new F("displayNameChangeset","undefined or null")}}Tu.prototype.displayNameChangeset=void 0,Tu.prototype.legacyObjectListChangeset=void 0,Tu.prototype.legacyOperationListChangeset=void 0,Tu.prototype.legacyParentOperationListChangeset=void 0,Tu.prototype.$reserved=void 0,Tu.prototype.$objectType=void 0,Tu.prototype.$unknownFields=void 0;const ju={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",OPERATION:"OPERATION",ENTITY:"ENTITY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ju).find(t=>ju[t]===e);return null==t?ju.$UNKNOWN:ju[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ju.$UNKNOWN:case ju.$REDACTED:case ju.OPERATION:case ju.ENTITY:return;default:throw new Error("Invalid : must be ConfigType.{ $UNKNOWN|$REDACTED|OPERATION|ENTITY }")}}};Object.freeze(ju);const ku=ju;function Fu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ou=new WeakSet;class Eu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ou),t.add(e),this.$objectType="iam.v4.authz.ConfigChangeset",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Eu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(ku.constructFromObject(e.configType)),e.hasOwnProperty("changeset")&&null!==e.changeset&&void 0!==e.changeset&&t.setChangeset(Tu.constructFromObject(e.changeset)),e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("lastUpdatedTime")&&null!==e.lastUpdatedTime&&void 0!==e.lastUpdatedTime&&t.setLastUpdatedTime(e.lastUpdatedTime),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getChangeset(){return this.changeset}setChangeset(e){this.changeset=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getLastUpdatedTime(){return this.lastUpdatedTime}setLastUpdatedTime(e){this.lastUpdatedTime=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Fu(Ou,this,Iu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Fu(Ou,this,Iu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getChangeset()&&null!==this.getChangeset()?{changeset:this.getChangeset().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validatePattern(this.clientName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("clientName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}return"configType"!==t||void 0!==this.configType&&null!==this.configType?"changeset"!==t||void 0!==this.changeset&&null!==this.changeset?"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"lastUpdatedTime"!==t||void 0!==this.lastUpdatedTime&&null!==this.lastUpdatedTime?new F(t,"no such property exists"):new F("lastUpdatedTime","undefined or null"):new F("createdTime","undefined or null"):new F("changeset","undefined or null"):new F("configType","undefined or null")}}function Iu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Eu.prototype.displayName=void 0,Eu.prototype.clientName=void 0,Eu.prototype.configType=void 0,Eu.prototype.changeset=void 0,Eu.prototype.createdTime=void 0,Eu.prototype.lastUpdatedTime=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;class Pu extends Eu{constructor(){super(),this.$objectType="iam.v4.authz.ConfigChangesetProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pu,Eu.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}function Au(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Cu=new WeakSet;class Du extends Qi{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Cu),t.add(e),this.$objectType="iam.v4.authz.EntityConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Du,Qi.constructFromObject(e,t,!0),e.hasOwnProperty("legacyObjectList")&&null!==e.legacyObjectList&&void 0!==e.legacyObjectList){for(r=[],i=e.legacyObjectList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyObjectList(r)}if(e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyObjectList(){return this.legacyObjectList}setLegacyObjectList(e){this.legacyObjectList=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Au(Cu,this,Uu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Au(Cu,this,Uu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyObjectList()&&null!==this.getLegacyObjectList()?{legacyObjectList:this.getLegacyObjectList()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getSearchURL()&&null!==this.getSearchURL()?{searchURL:this.getSearchURL()}:{},...void 0!==this.getAttributeList()&&null!==this.getAttributeList()?{attributeList:this.getAttributeList().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsLogicalAndSupportedForAttributes()&&null!==this.getIsLogicalAndSupportedForAttributes()?{isLogicalAndSupportedForAttributes:this.getIsLogicalAndSupportedForAttributes()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyObjectList"!==t||void 0!==this.legacyObjectList&&null!==this.legacyObjectList?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyObjectList","undefined or null")}}function Uu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Du.prototype.legacyObjectList=void 0,Du.prototype.isInternal=void 0,Qi.prototype.name=void 0,Qi.prototype.description=void 0,Qi.prototype.displayName=void 0,Qi.prototype.clientName=void 0,Qi.prototype.searchURL=void 0,Qi.prototype.createdTime=void 0,Qi.prototype.lastUpdatedTime=void 0,Qi.prototype.createdBy=void 0,Qi.prototype.attributeList=void 0,Qi.prototype.isLogicalAndSupportedForAttributes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Nu=new WeakSet;class Su{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Nu),n.add(t),this.shouldIncludeRelatedOperations=e,this.$objectType="iam.v4.authz.MigrateRoleSpec",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Su,e.hasOwnProperty("shouldIncludeRelatedOperations")&&null!==e.shouldIncludeRelatedOperations&&void 0!==e.shouldIncludeRelatedOperations&&t.setShouldIncludeRelatedOperations(e.shouldIncludeRelatedOperations),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIncludeRelatedOperations(){return this.shouldIncludeRelatedOperations}setShouldIncludeRelatedOperations(e){this.shouldIncludeRelatedOperations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldIncludeRelatedOperations()&&null!==this.getShouldIncludeRelatedOperations()?{shouldIncludeRelatedOperations:this.getShouldIncludeRelatedOperations()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["shouldIncludeRelatedOperations"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"shouldIncludeRelatedOperations"!==t||void 0!==this.shouldIncludeRelatedOperations&&null!==this.shouldIncludeRelatedOperations?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("shouldIncludeRelatedOperations","undefined or null")}}function Ru(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Su.prototype.shouldIncludeRelatedOperations=void 0,Su.prototype.$reserved=void 0,Su.prototype.$objectType=void 0,Su.prototype.$unknownFields=void 0;var xu=new WeakSet;class Lu extends Cs{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xu),t.add(e),this.$objectType="iam.v4.authz.OperationConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new Lu,Cs.constructFromObject(e,t,!0),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),e.hasOwnProperty("legacyOperationList")&&null!==e.legacyOperationList&&void 0!==e.legacyOperationList){for(r=[],i=e.legacyOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyOperationList(r)}if(e.hasOwnProperty("legacyParentOperationList")&&null!==e.legacyParentOperationList&&void 0!==e.legacyParentOperationList){for(r=[],i=e.legacyParentOperationList,s=0;s<i.length;s++)r.push(i[s]);t.setLegacyParentOperationList(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}getLegacyOperationList(){return this.legacyOperationList}setLegacyOperationList(e){this.legacyOperationList=e}getLegacyParentOperationList(){return this.legacyParentOperationList}setLegacyParentOperationList(e){this.legacyParentOperationList=e}toJson(e){return!1===e?{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ru(xu,this,Mu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ru(xu,this,Mu).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getLegacyOperationList()&&null!==this.getLegacyOperationList()?{legacyOperationList:this.getLegacyOperationList()}:{},...void 0!==this.getLegacyParentOperationList()&&null!==this.getLegacyParentOperationList()?{legacyParentOperationList:this.getLegacyParentOperationList()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getAllowOnSharedEntity()&&null!==this.getAllowOnSharedEntity()?{allowOnSharedEntity:this.getAllowOnSharedEntity()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getRelatedOperationList()&&null!==this.getRelatedOperationList()?{relatedOperationList:this.getRelatedOperationList()}:{},...void 0!==this.getAssociatedEndpointList()&&null!==this.getAssociatedEndpointList()?{associatedEndpointList:this.getAssociatedEndpointList().map(e=>e.toJson(!1))}:{},...void 0!==this.getMigrationActionNotes()&&null!==this.getMigrationActionNotes()?{migrationActionNotes:this.getMigrationActionNotes().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?"legacyOperationList"!==t||void 0!==this.legacyOperationList&&null!==this.legacyOperationList?"legacyParentOperationList"!==t||void 0!==this.legacyParentOperationList&&null!==this.legacyParentOperationList?new F(t,"no such property exists"):new F("legacyParentOperationList","undefined or null"):new F("legacyOperationList","undefined or null"):new F("isInternal","undefined or null")}}function Mu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ju(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Lu.prototype.isInternal=void 0,Lu.prototype.legacyOperationList=void 0,Lu.prototype.legacyParentOperationList=void 0,Cs.prototype.displayName=void 0,Cs.prototype.description=void 0,Cs.prototype.entityType=void 0,Cs.prototype.clientName=void 0,Cs.prototype.allowOnSharedEntity=!1,Cs.prototype.createdTime=void 0,Cs.prototype.lastUpdatedTime=void 0,Cs.prototype.operationType=void 0,Cs.prototype.relatedOperationList=void 0,Cs.prototype.associatedEndpointList=void 0,Cs.prototype.migrationActionNotes=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var _u=new WeakSet;class Wu extends ci{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_u),t.add(e),this.$objectType="iam.v4.authz.RoleConfig",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Wu,ci.constructFromObject(e,t,!0),e.hasOwnProperty("legacyRole")&&null!==e.legacyRole&&void 0!==e.legacyRole&&t.setLegacyRole(e.legacyRole),e.hasOwnProperty("isInternal")&&null!==e.isInternal&&void 0!==e.isInternal&&t.setIsInternal(e.isInternal),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLegacyRole(){return this.legacyRole}setLegacyRole(e){this.legacyRole=e}getIsInternal(){return this.isInternal}setIsInternal(e){this.isInternal=e}toJson(e){return!1===e?{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getAccessibleClients()&&null!==this.getAccessibleClients()?{accessibleClients:this.getAccessibleClients()}:{},...void 0!==this.getAccessibleEntityTypes()&&null!==this.getAccessibleEntityTypes()?{accessibleEntityTypes:this.getAccessibleEntityTypes()}:{},...void 0!==this.getAccessibleClientsCount()&&null!==this.getAccessibleClientsCount()?{accessibleClientsCount:this.getAccessibleClientsCount()}:{},...void 0!==this.getAccessibleEntityTypesCount()&&null!==this.getAccessibleEntityTypesCount()?{accessibleEntityTypesCount:this.getAccessibleEntityTypesCount()}:{},...void 0!==this.getAssignedUsersCount()&&null!==this.getAssignedUsersCount()?{assignedUsersCount:this.getAssignedUsersCount()}:{},...void 0!==this.getAssignedUserGroupsCount()&&null!==this.getAssignedUserGroupsCount()?{assignedUserGroupsCount:this.getAssignedUserGroupsCount()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getIsSharedWithAllProjects()&&null!==this.getIsSharedWithAllProjects()?{isSharedWithAllProjects:this.getIsSharedWithAllProjects()}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:Ju(_u,this,Ku).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getLastUpdatedTime()&&null!==this.getLastUpdatedTime()?{lastUpdatedTime:Ju(_u,this,Ku).call(this,this.getLastUpdatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getIsSystemDefined()&&null!==this.getIsSystemDefined()?{isSystemDefined:this.getIsSystemDefined()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getLegacyRole()&&null!==this.getLegacyRole()?{legacyRole:this.getLegacyRole()}:{},...void 0!==this.getIsInternal()&&null!==this.getIsInternal()?{isInternal:this.getIsInternal()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getProjectExtId()&&null!==this.getProjectExtId()?{projectExtId:this.getProjectExtId()}:{},...void 0!==this.getOperationSchemaChangeImpact()&&null!==this.getOperationSchemaChangeImpact()?{operationSchemaChangeImpact:this.getOperationSchemaChangeImpact()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"legacyRole"!==t||void 0!==this.legacyRole&&null!==this.legacyRole?"isInternal"!==t||void 0!==this.isInternal&&null!==this.isInternal?new F(t,"no such property exists"):new F("isInternal","undefined or null"):new F("legacyRole","undefined or null")}}function Ku(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function qu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Wu.prototype.legacyRole=void 0,Wu.prototype.isInternal=void 0,ci.prototype.description=void 0,ci.prototype.operations=void 0,ci.prototype.accessibleClients=void 0,ci.prototype.accessibleEntityTypes=void 0,ci.prototype.accessibleClientsCount=void 0,ci.prototype.accessibleEntityTypesCount=void 0,ci.prototype.assignedUsersCount=void 0,ci.prototype.assignedUserGroupsCount=void 0,ci.prototype.projectExtId=void 0,ci.prototype.isSharedWithAllProjects=void 0,ci.prototype.createdTime=void 0,ci.prototype.lastUpdatedTime=void 0,ci.prototype.createdBy=void 0,ci.prototype.isSystemDefined=!0,ci.prototype.operationSchemaChangeImpact=void 0,ai.prototype.displayName=void 0,ai.prototype.clientName=void 0,ai.prototype.isGlobal=!1,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Bu=new WeakSet;class zu extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Bu),t.add(e),this.$objectType="iam.v4.authz.ScopeTemplate",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new zu,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("displayName")&&null!==e.displayName&&void 0!==e.displayName&&t.setDisplayName(e.displayName),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Xn.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("createdTime")&&null!==e.createdTime&&void 0!==e.createdTime&&t.setCreatedTime(e.createdTime),e.hasOwnProperty("createdBy")&&null!==e.createdBy&&void 0!==e.createdBy&&t.setCreatedBy(e.createdBy),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDisplayName(){return this.displayName}setDisplayName(e){this.displayName=e}getDescription(){return this.description}setDescription(e){this.description=e}getEntities(){return this.entities}setEntities(e){this.entities=e}getCreatedTime(){return this.createdTime}setCreatedTime(e){this.createdTime=e}getCreatedBy(){return this.createdBy}setCreatedBy(e){this.createdBy=e}toJson(e){return!1===e?{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getCreatedTime()&&null!==this.getCreatedTime()?{createdTime:qu(Bu,this,Gu).call(this,this.getCreatedTime(),!1)}:{},...void 0!==this.getCreatedBy()&&null!==this.getCreatedBy()?{createdBy:this.getCreatedBy()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("displayName"===t){if(void 0===this.displayName||null===this.displayName)return new F("displayName","undefined or null");if(!k.validateMaxLength(this.displayName,255))return new F("displayName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.displayName,1))return new F("displayName","does not satisfy required minLength constraint: 1");if(!k.validatePattern(this.displayName,/^[^<>;'()&+%\/\\\\\"`]*$/))return new F("displayName","does not satisfy required pattern: /^[^<>;'()&+%/\\\\\"`]*$/")}if("description"===t){if(void 0===this.description||null===this.description)return new F("description","undefined or null");if(!k.validateMaxLength(this.description,1e3))return new F("description","does not satisfy required maxLength constraint: 1000");if(!k.validatePattern(this.description,/^[^<>;()&+%\/\\\\\"`]*$/))return new F("description",'does not satisfy required pattern: /^[^<>;()&+%/\\\\"`]*$/')}if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!k.validateMaxItems(this.entities,500))return new F("entities","does not satisfy required maxItems constraint: 500");if(!k.validateMinItems(this.entities,1))return new F("entities","does not satisfy required minItems constraint: 1")}return"createdTime"!==t||void 0!==this.createdTime&&null!==this.createdTime?"createdBy"!==t||void 0!==this.createdBy&&null!==this.createdBy?new F(t,"no such property exists"):new F("createdBy","undefined or null"):new F("createdTime","undefined or null")}}function Gu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}zu.prototype.displayName=void 0,zu.prototype.description=void 0,zu.prototype.entities=void 0,zu.prototype.createdTime=void 0,zu.prototype.createdBy=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;var Vu=new WeakSet;class Hu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Vu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigAuthorizationPolicyList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Hu,e.hasOwnProperty("authorizationPolicies")&&null!==e.authorizationPolicies&&void 0!==e.authorizationPolicies){for(o=[],i=e.authorizationPolicies,r=0;r<i.length;r++)s=Nh.constructFromObject(i[r],void 0),o.push(s);t.setAuthorizationPolicies(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAuthorizationPolicies(){return this.authorizationPolicies}setAuthorizationPolicies(e){this.authorizationPolicies=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAuthorizationPolicies()&&null!==this.getAuthorizationPolicies()?{authorizationPolicies:this.getAuthorizationPolicies().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("authorizationPolicies"===t){if(void 0===this.authorizationPolicies||null===this.authorizationPolicies)return new F("authorizationPolicies","undefined or null");if(!k.validateMaxItems(this.authorizationPolicies,50))return new F("authorizationPolicies","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Hu.prototype.authorizationPolicies=void 0,Hu.prototype.$reserved=void 0,Hu.prototype.$objectType=void 0,Hu.prototype.$unknownFields=void 0;var Yu=new WeakSet;class Xu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Yu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigEntityList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Xu,e.hasOwnProperty("entities")&&null!==e.entities&&void 0!==e.entities){for(o=[],i=e.entities,r=0;r<i.length;r++)s=Du.constructFromObject(i[r],void 0),o.push(s);t.setEntities(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntities(){return this.entities}setEntities(e){this.entities=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntities()&&null!==this.getEntities()?{entities:this.getEntities().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("entities"===t){if(void 0===this.entities||null===this.entities)return new F("entities","undefined or null");if(!k.validateMaxItems(this.entities,200))return new F("entities","does not satisfy required maxItems constraint: 200")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Xu.prototype.entities=void 0,Xu.prototype.$reserved=void 0,Xu.prototype.$objectType=void 0,Xu.prototype.$unknownFields=void 0;var Zu=new WeakSet;class Qu{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Zu),t.add(e),this.$objectType="iam.v4.authz.SeedConfigOperationList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new Qu,e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(o=[],i=e.operations,r=0;r<i.length;r++)s=Lu.constructFromObject(i[r],void 0),o.push(s);t.setOperations(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!k.validateMaxItems(this.operations,500))return new F("operations","does not satisfy required maxItems constraint: 500")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}Qu.prototype.operations=void 0,Qu.prototype.$reserved=void 0,Qu.prototype.$objectType=void 0,Qu.prototype.$unknownFields=void 0;const ec={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CREATE:"CREATE",UPDATE:"UPDATE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ec).find(t=>ec[t]===e);return null==t?ec.$UNKNOWN:ec[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ec.$UNKNOWN:case ec.$REDACTED:case ec.CREATE:case ec.UPDATE:return;default:throw new Error("Invalid : must be SeedConfigOperationType.{ $UNKNOWN|$REDACTED|CREATE|UPDATE }")}}};Object.freeze(ec);const tc=ec;var nc=new WeakSet;class ic{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=nc),t.add(e),this.$objectType="iam.v4.authz.SeedConfigRoleList",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new ic,e.hasOwnProperty("roles")&&null!==e.roles&&void 0!==e.roles){for(o=[],i=e.roles,r=0;r<i.length;r++)s=Wu.constructFromObject(i[r],void 0),o.push(s);t.setRoles(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRoles(){return this.roles}setRoles(e){this.roles=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRoles()&&null!==this.getRoles()?{roles:this.getRoles().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("roles"===t){if(void 0===this.roles||null===this.roles)return new F("roles","undefined or null");if(!k.validateMaxItems(this.roles,50))return new F("roles","does not satisfy required maxItems constraint: 50")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}ic.prototype.roles=void 0,ic.prototype.$reserved=void 0,ic.prototype.$objectType=void 0,ic.prototype.$unknownFields=void 0;const sc={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLIENT:"CLIENT",ENTITY:"ENTITY",OPERATION:"OPERATION",ROLE:"ROLE",AUTHORIZATION_POLICY:"AUTHORIZATION_POLICY",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(sc).find(t=>sc[t]===e);return null==t?sc.$UNKNOWN:sc[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case sc.$UNKNOWN:case sc.$REDACTED:case sc.CLIENT:case sc.ENTITY:case sc.OPERATION:case sc.ROLE:case sc.AUTHORIZATION_POLICY:return;default:throw new Error("Invalid : must be SeedConfigType.{ $UNKNOWN|$REDACTED|CLIENT|ENTITY|OPERATION|ROLE|AUTHORIZATION_POLICY }")}}};Object.freeze(sc);const rc=sc;function oc(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ac=new WeakSet;class dc{constructor(e,t,n,i){var s,r;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(s=this,r=ac),r.add(s),this.configType=e,this.clientName=t,this.operationType=n,this.configList=i,this.$objectType="iam.v4.authz.SeedConfigRequest",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dc,e.hasOwnProperty("configType")&&null!==e.configType&&void 0!==e.configType&&t.setConfigType(rc.constructFromObject(e.configType)),e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("clientName")&&null!==e.clientName&&void 0!==e.clientName&&t.setClientName(e.clientName),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(tc.constructFromObject(e.operationType)),e.hasOwnProperty("configList")&&null!==e.configList&&void 0!==e.configList)switch(i=e.configList.hasOwnProperty("$objectType")?e.configList.$objectType:typeof e.configList,i){case"iam.v4.authz.ClientConfig":t.setConfigList(pu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigEntityList":t.setConfigList(Xu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigOperationList":t.setConfigList(Qu.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigRoleList":t.setConfigList(ic.constructFromObject(e.configList,void 0));break;case"iam.v4.authz.SeedConfigAuthorizationPolicyList":t.setConfigList(Hu.constructFromObject(e.configList,void 0));break;default:t.setConfigList(e.configList)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConfigType(){return this.configType}setConfigType(e){this.configType=e}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}getClientName(){return this.clientName}setClientName(e){this.clientName=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getConfigList(){return this.configList}setConfigList(e){this.configList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson(!1):Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson(!1):e):oc(ac,this,lc).call(this,this.getConfigList(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getConfigType()&&null!==this.getConfigType()?{configType:this.getConfigType()}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getConfigList()&&null!==this.getConfigList()?{configList:void 0!==this.getConfigList().toJson?this.getConfigList().toJson():Array.isArray(this.getConfigList())?this.getConfigList().map(e=>void 0!==e.toJson?e.toJson():e):oc(ac,this,lc).call(this,this.getConfigList())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=["configType","clientName","operationType","configList"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("configType"===t&&(void 0===this.configType||null===this.configType))return new F("configType","undefined or null");if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new F("tenantId","undefined or null");if(!k.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new F("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clientName"===t){if(void 0===this.clientName||null===this.clientName)return new F("clientName","undefined or null");if(!k.validateMaxLength(this.clientName,255))return new F("clientName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.clientName,1))return new F("clientName","does not satisfy required minLength constraint: 1")}return"operationType"!==t||void 0!==this.operationType&&null!==this.operationType?"configList"!==t||void 0!==this.configList&&null!==this.configList?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("configList","undefined or null"):new F("operationType","undefined or null")}}function lc(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}dc.prototype.configType=void 0,dc.prototype.tenantId=void 0,dc.prototype.clientName=void 0,dc.prototype.operationType=void 0,dc.prototype.configList=void 0,dc.prototype.$reserved=void 0,dc.prototype.$objectType=void 0,dc.prototype.$unknownFields=void 0;var hc=new WeakSet;class uc extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=hc),t.add(e),this.$objectType="iam.v4.authz.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new uc,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!k.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return new F(t,"no such property exists")}}uc.prototype.tenantName=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;class cc extends Qn{constructor(){super(),this.$objectType="iam.v4.authz.UserAuthorizationPolicy",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new cc,Qn.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var pc=new WeakSet;class yc extends ai{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=pc),t.add(e),this.$objectType="iam.v4.authz.UserRole",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r;if(e){if(t=t||new yc,ai.constructFromObject(e,t,!0),e.hasOwnProperty("operations")&&null!==e.operations&&void 0!==e.operations){for(r=[],i=e.operations,s=0;s<i.length;s++)r.push(i[s]);t.setOperations(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperations(){return this.operations}setOperations(e){this.operations=e}toJson(e){return!1===e?{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperations()&&null!==this.getOperations()?{operations:this.getOperations()}:{},...void 0!==this.getDisplayName()&&null!==this.getDisplayName()?{displayName:this.getDisplayName()}:{},...void 0!==this.getClientName()&&null!==this.getClientName()?{clientName:this.getClientName()}:{},...void 0!==this.getIsGlobal()&&null!==this.getIsGlobal()?{isGlobal:this.getIsGlobal()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("operations"===t){if(void 0===this.operations||null===this.operations)return new F("operations","undefined or null");if(!k.validateMaxItems(this.operations,2e3))return new F("operations","does not satisfy required maxItems constraint: 2000");if(!k.validateMinItems(this.operations,1))return new F("operations","does not satisfy required minItems constraint: 1")}return new F(t,"no such property exists")}}yc.prototype.operations=void 0,ai.prototype.displayName=void 0,ai.prototype.clientName=void 0,ai.prototype.isGlobal=!1,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;class gc extends yc{constructor(){super(),this.$objectType="iam.v4.authz.UserRoleProjection",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new gc,yc.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return new F(t,"no such property exists")}}var vc=new WeakSet;class mc{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=vc),t.add(e),this.$objectType="iam.v4.common.ValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mc,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("message","undefined or null")}}function $c(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mc.prototype.message=void 0,mc.prototype.$reserved=void 0,mc.prototype.$objectType=void 0,mc.prototype.$unknownFields=void 0;var wc=new WeakSet;class fc{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=wc),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,s,r,o;if(e){if(t=t||new fc,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(o=[],i=e.validationErrorMessages,r=0;r<i.length;r++)s=mc.constructFromObject(i[r],void 0),o.push(s);t.setValidationErrorMessages(o)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getError(){return this.error}setError(e){this.error=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getPath(){return this.path}setPath(e){this.path=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:$c(wc,this,bc).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("code"===t&&(void 0===this.code||null===this.code))return new F("code","undefined or null");if("error"===t&&(void 0===this.error||null===this.error))return new F("error","undefined or null");if("errorGroup"===t&&(void 0===this.errorGroup||null===this.errorGroup))return new F("errorGroup","undefined or null");if("path"===t&&(void 0===this.path||null===this.path))return new F("path","undefined or null");if("statusCode"===t&&(void 0===this.statusCode||null===this.statusCode))return new F("statusCode","undefined or null");if("timestamp"===t&&(void 0===this.timestamp||null===this.timestamp))return new F("timestamp","undefined or null");if("validationErrorMessages"===t){if(void 0===this.validationErrorMessages||null===this.validationErrorMessages)return new F("validationErrorMessages","undefined or null");if(!k.validateMaxItems(this.validationErrorMessages,20))return new F("validationErrorMessages","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null")}}function bc(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}fc.prototype.code=void 0,fc.prototype.error=void 0,fc.prototype.errorGroup=void 0,fc.prototype.path=void 0,fc.prototype.statusCode=void 0,fc.prototype.timestamp=void 0,fc.prototype.validationErrorMessages=void 0,fc.prototype.$reserved=void 0,fc.prototype.$objectType=void 0,fc.prototype.$unknownFields=void 0;var Tc=new WeakSet;class jc{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Tc),t.add(e),this.$objectType="iam.v4.common.SchemaValidationError",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jc,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(fc.constructFromObject(e.error)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getError()&&null!==this.getError()?{error:this.getError().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new F(t,"no such property exists"):new F("$unknownFields","undefined or null"):new F("$objectType","undefined or null"):new F("$reserved","undefined or null"):new F("error","undefined or null")}}jc.prototype.error=void 0,jc.prototype.$reserved=void 0,jc.prototype.$objectType=void 0,jc.prototype.$unknownFields=void 0;var kc=new WeakSet;class Fc extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=kc),t.add(e),this.$objectType="iam.v4.common.SchemaValidationErrorResponse",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Fc,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data&&t.setData(jc.constructFromObject(e.data)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getData(){return this.data}setData(e){this.data=e}toJson(e){return!1===e?{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getData()&&null!==this.getData()?{data:this.getData().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){return"data"!==t||void 0!==this.data&&null!==this.data?new F(t,"no such property exists"):new F("data","undefined or null")}}Fc.prototype.data=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const Oc={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ASC:"ASC",DESC:"DESC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oc).find(t=>Oc[t]===e);return null==t?Oc.$UNKNOWN:Oc[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oc.$UNKNOWN:case Oc.$REDACTED:case Oc.ASC:case Oc.DESC:return;default:throw new Error("Invalid : must be SortOrderType.{ $UNKNOWN|$REDACTED|ASC|DESC }")}}};Object.freeze(Oc);const Ec=Oc;var Ic=new WeakSet;class Pc extends Xe{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ic),t.add(e),this.$objectType="iam.v4.tenant.Tenant",this.$reserved={$fv:"v4.r1.b3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pc,Xe.constructFromObject(e,t,!0),e.hasOwnProperty("tenantName")&&null!==e.tenantName&&void 0!==e.tenantName&&t.setTenantName(e.tenantName),e.hasOwnProperty("tenantDescription")&&null!==e.tenantDescription&&void 0!==e.tenantDescription&&t.setTenantDescription(e.tenantDescription),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantName(){return this.tenantName}setTenantName(e){this.tenantName=e}getTenantDescription(){return this.tenantDescription}setTenantDescription(e){this.tenantDescription=e}toJson(e){return!1===e?{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getTenantName()&&null!==this.getTenantName()?{tenantName:this.getTenantName()}:{},...void 0!==this.getTenantDescription()&&null!==this.getTenantDescription()?{tenantDescription:this.getTenantDescription()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof j?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],s=null;return n.forEach(t=>{s=this.validateProperty(t,e),s&&i.push(s)}),new Promise(function(e,t){0!==i.length?t(s):e()})}validateProperty(e,t){if("tenantName"===t){if(void 0===this.tenantName||null===this.tenantName)return new F("tenantName","undefined or null");if(!k.validateMaxLength(this.tenantName,255))return new F("tenantName","does not satisfy required maxLength constraint: 255");if(!k.validateMinLength(this.tenantName,1))return new F("tenantName","does not satisfy required minLength constraint: 1")}return"tenantDescription"!==t||void 0!==this.tenantDescription&&null!==this.tenantDescription?new F(t,"no such property exists"):new F("tenantDescription","undefined or null")}}Pc.prototype.tenantName=void 0,Pc.prototype.tenantDescription=void 0,Xe.prototype.extId=void 0,Xe.prototype.links=void 0,He.prototype.tenantId=void 0;const Ac={ApiClient:le,CertificateAuthenticationProvidersApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createCertAuthProvider(e,t,n,i,s,r,...o){let a=o.length>0?o[0]:{};if(r=r||{},null==e)throw new Error("Missing the required parameter 'clientCaChain' when calling createCertAuthProvider");if(null==t)throw new Error("Missing the required parameter 'caCertFileName' when calling createCertAuthProvider");if(null==n)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling createCertAuthProvider");if(null==i)throw new Error("Missing the required parameter 'name' when calling createCertAuthProvider");if(null==s)throw new Error("Missing the required parameter 'isCacEnabled' when calling createCertAuthProvider");let d={};Object.keys(a).forEach(e=>{this.#e.has(e.toLowerCase())||(d[e]=a[e])});const l={...d},h={clientCaChain:e,dirSvcExtID:r.dirSvcExtID,certRevocationInfo:r.certRevocationInfo,caCertFileName:t,isCertAuthEnabled:n,createdBy:r.createdBy,projectExtId:r.projectExtId,tenantId:r.tenantId,name:i,createdTime:r.createdTime,links:this.apiClient.buildCollectionParam(r.links,"multi"),isCacEnabled:s,lastUpdatedTime:r.lastUpdatedTime,extId:r.extId,isSharedWithAllProjects:r.isSharedWithAllProjects},u=$t;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers","POST",{},{},l,h,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],u)}deleteCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ze;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getCertAuthProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getCertAuthProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=yt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listCertAuthProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ot;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateCertAuthProviderById(e,t,n,i,s,r,o,...a){let d=a.length>0?a[0]:{};if(o=o||{},null==e)throw new Error("Missing the required parameter 'extId' when calling updateCertAuthProviderById");if(null==t)throw new Error("Missing the required parameter 'clientCaChain' when calling updateCertAuthProviderById");if(null==n)throw new Error("Missing the required parameter 'caCertFileName' when calling updateCertAuthProviderById");if(null==i)throw new Error("Missing the required parameter 'isCertAuthEnabled' when calling updateCertAuthProviderById");if(null==s)throw new Error("Missing the required parameter 'name' when calling updateCertAuthProviderById");if(null==r)throw new Error("Missing the required parameter 'isCacEnabled' when calling updateCertAuthProviderById");const l={extId:e};let h={};Object.keys(d).forEach(e=>{this.#e.has(e.toLowerCase())||(h[e]=d[e])});const u={...h},c={clientCaChain:t,dirSvcExtID:o.dirSvcExtID,certRevocationInfo:o.certRevocationInfo,caCertFileName:n,isCertAuthEnabled:i,createdBy:o.createdBy,projectExtId:o.projectExtId,tenantId:o.tenantId,name:s,createdTime:o.createdTime,links:this.apiClient.buildCollectionParam(o.links,"multi"),isCacEnabled:r,lastUpdatedTime:o.lastUpdatedTime,extId:o.extId,isSharedWithAllProjects:o.isSharedWithAllProjects},p=ht;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/cert-auth-providers/{extId}","PUT",l,{},u,c,null,["apiKeyAuthScheme","basicAuthScheme"],["multipart/form-data"],["application/json"],p)}},DirectoryServicesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}connectionStatusDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Gn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling connectionStatusDirectoryService");if(null==s)throw new Error("Invalid body when calling connectionStatusDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Qt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}/$actions/verify-connection-status","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}createDirectoryService(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Lt&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createDirectoryService");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=ln;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Tt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getDirectoryServiceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getDirectoryServiceById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Wt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listDirectoryServices(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zt;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}searchDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof jn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling searchDirectoryService");if(null==s)throw new Error("Invalid body when calling searchDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Mn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}/$actions/search","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}shareAllDirectoryService(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling shareAllDirectoryService");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=qn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/share-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Fn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling shareDirectoryService");if(null==s)throw new Error("Invalid body when calling shareDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Pn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/share","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}unshareAllDirectoryService(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling unshareAllDirectoryService");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=yn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/unshare-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}unshareDirectoryService(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof mn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling unshareDirectoryService");if(null==s)throw new Error("Invalid body when calling unshareDirectoryService");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=rn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/directory-service/{extId}/$actions/unshare","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateDirectoryServiceById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Lt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateDirectoryServiceById");if(null==s)throw new Error("Invalid body when calling updateDirectoryServiceById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=fn;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/directory-services/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},AuthorizationPoliciesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createAuthorizationPolicy(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof si&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createAuthorizationPolicy");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=xi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Fi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getAuthorizationPolicyById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getAuthorizationPolicyById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=bi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listAuthorizationPolicies(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Pi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateAuthorizationPolicyById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof si&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateAuthorizationPolicyById");if(null==s)throw new Error("Invalid body when calling updateAuthorizationPolicyById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Ui;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/authorization-policies/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},ClientsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getRegisteredClientById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRegisteredClientById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Bi;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/clients/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},EntitiesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getEntityById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getEntityById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=as;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/entities/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listEntities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=is;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/entities","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},LoginProvidersApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listLoginProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=ms;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/login-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},OperationsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getOperationById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getOperationById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ms;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/operations/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listOperations(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ss;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/operations","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RoleMembershipApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRoleMembership(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Bs&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRoleMembership");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=pr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleMembershipById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleMembershipById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=mr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleMembershipById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleMembershipById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=lr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoleMembershipSummary(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=rr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-membership-summaries","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoleMemberships(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Qs;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/role-memberships","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},RolesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRole(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ci&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRole");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=Fr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=br;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getRoleById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRoleById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Pr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listRoles(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Ur;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}updateRoleById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof ci&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateRoleById");if(null==s)throw new Error("Invalid body when calling updateRoleById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=xr;return this.apiClient.callApi("/api/iam/v4.1.b3/authz/roles/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},SAMLIdentityProvidersApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof vo&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createSamlIdentityProvider");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=Jo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=zr;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdentityProviderById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdentityProviderById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Co;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getSamlIdpSpMetadataById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getSamlIdpSpMetadataById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Vo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}/sp-metadata","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],o)}getSamlSpMetadata(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=Zr;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-sp-metadata","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["text/xml","application/json"],s)}listSamlIdentityProviders(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=qo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareAllSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling shareAllSamlIdentityProvider");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=jo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/share-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}shareSamlIdentityProvider(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Hr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling shareSamlIdentityProvider");if(null==s)throw new Error("Invalid body when calling shareSamlIdentityProvider");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Ro;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/share","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}unshareAllSamlIdentityProvider(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling unshareAllSamlIdentityProvider");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=io;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/unshare-all","POST",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}unshareSamlIdentityProvider(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof wo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling unshareSamlIdentityProvider");if(null==s)throw new Error("Invalid body when calling unshareSamlIdentityProvider");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Wr;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/config/saml-identity-provider/{extId}/$actions/unshare","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateSamlIdentityProviderById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof vo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateSamlIdentityProviderById");if(null==s)throw new Error("Invalid body when calling updateSamlIdentityProviderById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Eo;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/saml-identity-providers/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},UserGroupsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createUserGroup(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ea&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUserGroup");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=ca;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}deleteUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=sa;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups/{extId}","DELETE",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserGroupById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserGroupById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=va;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}listUserGroups(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={"x-ntnx-project":e.xNtnxProject,...s},o=da;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/user-groups","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}},UsersApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}changeUserPassword(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Ld&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling changeUserPassword");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=Vd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/$actions/change-password","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUser(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ad&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createUser");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=_d;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users","POST",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}createUserKey(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Aa&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'userExtId' when calling createUserKey");if(null==s)throw new Error("Invalid body when calling createUserKey");const r={userExtId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=wd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}deleteUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling deleteUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling deleteUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Cd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}","DELETE",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getUserById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getUserById");const i={extId:e};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s},o=Sd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}","GET",i,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}getUserKeyById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling getUserKeyById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getUserKeyById");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=Sa;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}","GET",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}listUserKeys(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'userExtId' when calling listUserKeys");const s={userExtId:e},r={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{},...t.hasOwnProperty("$select")?{$select:t.$select}:{}};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o},d=ud;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys","GET",s,r,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],d)}listUsers(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$expand")?{$expand:e.$expand}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={"x-ntnx-project":e.xNtnxProject,...s},o=Ed;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users","GET",{},i,r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],o)}resetUserPassword(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof qd&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling resetUserPassword");if(null==s)throw new Error("Invalid body when calling resetUserPassword");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Ja;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}/$actions/reset-password","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}revokeUserKey(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'userExtId' when calling revokeUserKey");if(null==t)throw new Error("Missing the required parameter 'extId' when calling revokeUserKey");const s={userExtId:e,extId:t};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const o={...r},a=gd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{userExtId}/keys/{extId}/$actions/revoke","POST",s,{},o,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}updateUserById(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof ad&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserById");if(null==s)throw new Error("Invalid body when calling updateUserById");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=jd;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}","PUT",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}updateUserState(e,t,...n){let i=n.length>0?n[0]:{},s=null;if(s=t instanceof Ba&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling updateUserState");if(null==s)throw new Error("Invalid body when calling updateUserState");const r={extId:e};let o={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=i[e])});const a={...o};le.addEtagReferenceToHeader(t,a);const d=Ha;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/users/{extId}/$actions/change-state","POST",r,{},a,{},s,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],d)}},WelcomeBannerApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getWelcomeBanner(...e){let t=e.length>0?e[0]:{},n={};Object.keys(t).forEach(e=>{this.#e.has(e.toLowerCase())||(n[e]=t[e])});const i={...n},s=nl;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/welcome-banner","GET",{},{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}updateWelcomeBanner(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof Zd&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling updateWelcomeBanner");let s={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=n[e])});const r={...s};le.addEtagReferenceToHeader(e,r);const o=ol;return this.apiClient.callApi("/api/iam/v4.1.b3/authn/welcome-banner","PUT",{},{},r,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],o)}},Flag:E,KVPair:N,MapOfStringWrapper:A,Message:M,MessageSeverity:x,TenantAwareModel:He,ApiLink:_,ApiResponseMetadata:q,ExternalizableAbstractModel:Xe,ActivateUserApiResponse:Ha,AlgoType:ll,ApiKeyDetails:wa,AuthMethodType:ul,AuthenticationResponse:pl,AuthnMigrationRequest:ml,AuthnMigrationType:gl,BucketsAccessKey:td,BucketsAccessKeyStatusType:Za,CertAuthProvider:nt,CertRevocationInfo:Qe,CertificateLoginRequest:wl,ChangeUserPasswordApiResponse:Vd,ClaimsType:bl,ConnectionDirectoryServiceApiResponse:Qt,CreateCertAuthProviderApiResponse:$t,CreateDirectoryServiceApiResponse:ln,CreateKeyApiResponse:wd,CreateSamlIdentityProviderApiResponse:Jo,CreateUserApiResponse:_d,CreateUserGroupApiResponse:ca,CreationType:ba,DeleteCertAuthProviderApiResponse:ze,DeleteDirectoryServiceApiResponse:Tt,DeleteSamlIdentityProviderApiResponse:zr,DeleteUserGroupApiResponse:sa,DeleteUserKeyApiResponse:Cd,DirectoryService:Lt,DirectoryServiceConnectionRequest:Gn,DirectoryServiceConnectionResponse:Yt,DirectoryServiceInfo:El,DirectoryServiceInfoGroup:jl,DirectoryServiceInfoOu:Fl,DirectoryServiceSearchAttribute:Dn,DirectoryServiceSearchEntity:Nn,DirectoryServiceSearchQuery:jn,DirectoryServiceSearchResult:Rn,DirectoryServiceShareAllResponse:_n,DirectoryServiceShareRequest:Fn,DirectoryServiceShareResponse:On,DirectoryServiceUnshareAllResponse:un,DirectoryServiceUnshareRequest:mn,DirectoryServiceUnshareResponse:tn,DirectoryType:Ft,DiscoverySubjectType:Pl,DsServiceAccount:Et,Federation:Nl,FederationClaims:Cl,GetCertAuthProviderApiResponse:yt,GetDirectoryServiceApiResponse:Wt,GetSamlIdentityProviderApiResponse:Co,GetSamlIdpSpMetadataApiResponse:Vo,GetSamlSpMetadataApiResponse:Zr,GetUserApiResponse:Sd,GetUserGroupApiResponse:va,GetUserKeyApiResponse:Sa,GetWelcomeBannerApiResponse:nl,GrantType:xl,Group:Ml,GroupSearchType:Pt,GroupType:Xo,IdpMetadata:lo,IdpType:hs,Key:Aa,KeyKind:ja,KeyMigrationSpec:_l,KeyStatus:Fa,KeyType:Kl,ListCertAuthProvidersApiResponse:ot,ListDirectoryServicesApiResponse:zt,ListLoginProvidersApiResponse:ms,ListSamlIdentityProvidersApiResponse:qo,ListUserGroupsApiResponse:da,ListUserKeysApiResponse:ud,ListUsersApiResponse:Ed,LoginProvider:ps,LoginRequest:Hl,NameIdPolicyFormat:oo,ObjectKeyDetails:Ea,ObjectsAuthDetails:Zl,ObjectsAuthSpec:th,OidcKey:rh,OidcSubjectType:ah,OidcUserinfo:ch,OpenLdapConfig:St,PasswordChangeRequest:Ld,PasswordChangeResponse:Bd,PasswordResetRequest:qd,PasswordResetResponse:xa,PropagatedConnector:vh,ResetUserPasswordApiResponse:Ja,AuthnResponseType:Bl,RevokeUserKeyApiResponse:gd,SamlIdentityProvider:vo,SamlIdentityProviderShareAllResponse:fo,SamlIdentityProviderShareRequest:Hr,SamlIdentityProviderShareResponse:Uo,SamlIdentityProviderUnshareAllResponse:eo,SamlIdentityProviderUnshareRequest:wo,SamlIdentityProviderUnshareResponse:Mr,SamlSigningCredential:co,Scope:Gl,ScopesType:wh,SearchDirectoryServiceApiResponse:Mn,ShareAllDirectoryServiceApiResponse:qn,ShareAllSamlIdentityProviderApiResponse:jo,ShareDirectoryServiceApiResponse:Pn,ShareSamlIdentityProviderApiResponse:Ro,SigningAlgoType:bh,SubjectType:jh,SystemConfig:Oh,AuthnTenant:lh,TokenRequest:Ph,UnshareAllDirectoryServiceApiResponse:yn,UnshareAllSamlIdentityProviderApiResponse:io,UnshareDirectoryServiceApiResponse:rn,UnshareSamlIdentityProviderApiResponse:Wr,UpdateCertAuthProviderApiResponse:ht,UpdateDirectoryServiceApiResponse:fn,UpdateSamlIdentityProviderApiResponse:Eo,UpdateUserApiResponse:jd,UpdateWelcomeBannerApiResponse:ol,UseType:ih,User:ad,UserConfiguration:Ct,UserGroup:ea,UserGroupConfiguration:Ut,UserStateUpdate:Ba,UserStateUpdateResponse:za,UserStatusType:Ka,UserType:sd,ValidateCredentialsRequest:Ch,WelcomeBanner:Zd,ApiVersion:fs,AssociatedEndpoint:ks,AttributeEntity:Yi,AuthorizationPolicy:si,AuthorizationPolicyConfig:Nh,AuthorizationPolicyProjection:mi,AuthorizationPolicyType:Hn,AuthorizationRequest:Gh,AuthorizationResponse:Xh,AuthorizationResponseObject:Hh,AuthorizeEntity:_h,AuthzMigrationFlags:Qh,AuthzMigrationRequest:au,AuthzMigrationType:tu,BaseAuthorizationPolicy:Qn,BaseAuthorizationPolicyProjection:hu,BaseRole:ai,BaseRoleProjection:du,Client:_i,ClientConfig:pu,ConfigChangeset:Eu,ConfigChangesetData:Tu,ConfigChangesetDataObjects:vu,ConfigChangesetDataOperations:$u,ConfigChangesetDisplayName:fu,ConfigChangesetProjection:Pu,ConfigType:ku,CreateAuthorizationPolicyApiResponse:xi,CreateRoleApiResponse:Fr,CreateRoleMembershipApiResponse:pr,DeleteAuthorizationPolicyApiResponse:Fi,DeleteRoleApiResponse:br,DeleteRoleMembershipApiResponse:mr,Entity:Qi,EntityConfig:Du,EntityFilter:Xn,EntityOperators:Vi,GetAuthorizationPolicyApiResponse:bi,GetClientApiResponse:Bi,GetEntityApiResponse:as,GetOperationApiResponse:Ms,GetRoleApiResponse:Pr,GetRoleMembershipApiResponse:lr,HttpMethod:Ts,IdentityFilter:ti,IdentityIdpMapping:iu,IdentityObject:Mh,IdentityType:xh,ListAuthorizationPoliciesApiResponse:Pi,ListEntitiesApiResponse:is,ListOperationsApiResponse:Ss,ListRoleMembershipSummariesApiResponse:rr,ListRoleMembershipsApiResponse:Qs,ListRolesApiResponse:Ur,MigrateRoleSpec:Su,MigrationActionNotes:Os,Operation:Cs,OperationConfig:Lu,OperationSchemaChangeImpact:li,OperationType:Is,ProjectApMigrationData:ru,RequestObject:Bh,AuthzResponseType:Kh,RmIdentityType:Ws,Role:ci,RoleConfig:Wu,RoleMembership:Bs,RoleMembershipProjection:Hs,RoleMembershipSummary:nr,RoleProjection:yi,ScopeTemplate:zu,SeedConfigAuthorizationPolicyList:Hu,SeedConfigEntityList:Xu,SeedConfigOperationList:Qu,SeedConfigOperationType:tc,SeedConfigRequest:dc,SeedConfigRoleList:ic,SeedConfigType:rc,AuthzTenant:uc,UpdateAuthorizationPolicyApiResponse:Ui,UpdateRoleApiResponse:xr,UserAuthorizationPolicy:cc,UserRole:yc,UserRoleProjection:gc,ActionBaseResponse:Ht,CommonSchemaValidationError:jc,CommonSchemaValidationErrorMessage:fc,SchemaValidationErrorResponse:Fc,SortOrderType:Ec,ValidationErrorMessage:mc,AppMessage:De,ErrorResponse:We,ErrorSchemaValidationError:Le,ErrorSchemaValidationErrorMessage:Se,TenantTenant:Pc}})(),i=i.default,i})());
|