// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/identity/v1/keyapis_identity_oauth2_v1.proto

package ru.keyapis.identity.v1;

public final class KeyapisIdentityV1Proto {
  private KeyapisIdentityV1Proto() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface AuthServiceErrorOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.AuthServiceError)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     * @return Whether the auth field is set.
     */
    boolean hasAuth();
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     * @return The auth.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError getAuth();

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.ReasonCase getReasonCase();
  }
  /**
   * <pre>
   * Ошибки авторизационного сервиса
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.AuthServiceError}
   */
  public  static final class AuthServiceError extends
      com.google.protobuf.GeneratedMessageLite<
          AuthServiceError, AuthServiceError.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.AuthServiceError)
      AuthServiceErrorOrBuilder {
    private AuthServiceError() {
    }
    public interface AuthErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.AuthServiceError.AuthError)
        com.google.protobuf.MessageLiteOrBuilder {
    }
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.AuthServiceError.AuthError}
     */
    public  static final class AuthError extends
        com.google.protobuf.GeneratedMessageLite<
            AuthError, AuthError.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity.v1.AuthServiceError.AuthError)
        AuthErrorOrBuilder {
      private AuthError() {
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.AuthServiceError.AuthError}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.AuthServiceError.AuthError)
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthErrorOrBuilder {
        // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }


        // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.AuthServiceError.AuthError)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = null;java.lang.String info =
                  "\u0000\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity.v1.AuthServiceError.AuthError)
      private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError DEFAULT_INSTANCE;
      static {
        AuthError defaultInstance = new AuthError();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          AuthError.class, defaultInstance);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<AuthError> PARSER;

      public static com.google.protobuf.Parser<AuthError> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int reasonCase_ = 0;
    private java.lang.Object reason_;
    public enum ReasonCase {
      AUTH(1),
      REASON_NOT_SET(0);
      private final int value;
      private ReasonCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ReasonCase valueOf(int value) {
        return forNumber(value);
      }

      public static ReasonCase forNumber(int value) {
        switch (value) {
          case 1: return AUTH;
          case 0: return REASON_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public ReasonCase
    getReasonCase() {
      return ReasonCase.forNumber(
          reasonCase_);
    }

    private void clearReason() {
      reasonCase_ = 0;
      reason_ = null;
    }

    public static final int AUTH_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     */
    @java.lang.Override
    public boolean hasAuth() {
      return reasonCase_ == 1;
    }
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError getAuth() {
      if (reasonCase_ == 1) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError) reason_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     */
    private void setAuth(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError value) {
      value.getClass();
  reason_ = value;
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     */
    private void mergeAuth(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError value) {
      value.getClass();
  if (reasonCase_ == 1 &&
          reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.getDefaultInstance()) {
        reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError) reason_)
            .mergeFrom(value).buildPartial();
      } else {
        reason_ = value;
      }
      reasonCase_ = 1;
    }
    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
     */
    private void clearAuth() {
      if (reasonCase_ == 1) {
        reasonCase_ = 0;
        reason_ = null;
      }
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ошибки авторизационного сервиса
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.AuthServiceError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.AuthServiceError)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceErrorOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public ReasonCase
          getReasonCase() {
        return instance.getReasonCase();
      }

      public Builder clearReason() {
        copyOnWrite();
        instance.clearReason();
        return this;
      }


      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      @java.lang.Override
      public boolean hasAuth() {
        return instance.hasAuth();
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError getAuth() {
        return instance.getAuth();
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      public Builder setAuth(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError value) {
        copyOnWrite();
        instance.setAuth(value);
        return this;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      public Builder setAuth(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.Builder builderForValue) {
        copyOnWrite();
        instance.setAuth(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      public Builder mergeAuth(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError value) {
        copyOnWrite();
        instance.mergeAuth(value);
        return this;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError.AuthError auth = 1;</code>
       */
      public Builder clearAuth() {
        copyOnWrite();
        instance.clearAuth();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.AuthServiceError)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "reason_",
              "reasonCase_",
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.AuthError.class,
            };
            java.lang.String info =
                "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.AuthServiceError)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError DEFAULT_INSTANCE;
    static {
      AuthServiceError defaultInstance = new AuthServiceError();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        AuthServiceError.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<AuthServiceError> PARSER;

    public static com.google.protobuf.Parser<AuthServiceError> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostOauth2LoginByCodeRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByCodeRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    java.lang.String getCodeId();
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    com.google.protobuf.ByteString
        getCodeIdBytes();

    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    java.lang.String getCode();
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    com.google.protobuf.ByteString
        getCodeBytes();

    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The loginChallenge.
     */
    java.lang.String getLoginChallenge();
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for loginChallenge.
     */
    com.google.protobuf.ByteString
        getLoginChallengeBytes();
  }
  /**
   * <pre>
   * Запрос на авторизацию по ОТП-коду
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeRequest}
   */
  public  static final class PostOauth2LoginByCodeRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostOauth2LoginByCodeRequest, PostOauth2LoginByCodeRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByCodeRequest)
      PostOauth2LoginByCodeRequestOrBuilder {
    private PostOauth2LoginByCodeRequest() {
      codeId_ = "";
      code_ = "";
      loginChallenge_ = "";
    }
    public static final int CODE_ID_FIELD_NUMBER = 1;
    private java.lang.String codeId_;
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The codeId.
     */
    @java.lang.Override
    public java.lang.String getCodeId() {
      return codeId_;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for codeId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(codeId_);
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The codeId to set.
     */
    private void setCodeId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      codeId_ = value;
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCodeId() {

      codeId_ = getDefaultInstance().getCodeId();
    }
    /**
     * <pre>
     * Идентификатор ОТП-кода
     * </pre>
     *
     * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for codeId to set.
     */
    private void setCodeIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      codeId_ = value.toStringUtf8();

    }

    public static final int CODE_FIELD_NUMBER = 2;
    private java.lang.String code_;
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The code.
     */
    @java.lang.Override
    public java.lang.String getCode() {
      return code_;
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(code_);
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The code to set.
     */
    private void setCode(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      code_ = value;
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearCode() {

      code_ = getDefaultInstance().getCode();
    }
    /**
     * <pre>
     * Значение ОТП-кода
     * </pre>
     *
     * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for code to set.
     */
    private void setCodeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      code_ = value.toStringUtf8();

    }

    public static final int LOGIN_CHALLENGE_FIELD_NUMBER = 3;
    private java.lang.String loginChallenge_;
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The loginChallenge.
     */
    @java.lang.Override
    public java.lang.String getLoginChallenge() {
      return loginChallenge_;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for loginChallenge.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLoginChallengeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(loginChallenge_);
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The loginChallenge to set.
     */
    private void setLoginChallenge(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      loginChallenge_ = value;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearLoginChallenge() {

      loginChallenge_ = getDefaultInstance().getLoginChallenge();
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for loginChallenge to set.
     */
    private void setLoginChallengeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      loginChallenge_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на авторизацию по ОТП-коду
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByCodeRequest)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequestOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The codeId.
       */
      @java.lang.Override
      public java.lang.String getCodeId() {
        return instance.getCodeId();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for codeId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeIdBytes() {
        return instance.getCodeIdBytes();
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeId(
          java.lang.String value) {
        copyOnWrite();
        instance.setCodeId(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCodeId() {
        copyOnWrite();
        instance.clearCodeId();
        return this;
      }
      /**
       * <pre>
       * Идентификатор ОТП-кода
       * </pre>
       *
       * <code>string code_id = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for codeId to set.
       * @return This builder for chaining.
       */
      public Builder setCodeIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeIdBytes(value);
        return this;
      }

      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The code.
       */
      @java.lang.Override
      public java.lang.String getCode() {
        return instance.getCode();
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for code.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCodeBytes() {
        return instance.getCodeBytes();
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(
          java.lang.String value) {
        copyOnWrite();
        instance.setCode(value);
        return this;
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        copyOnWrite();
        instance.clearCode();
        return this;
      }
      /**
       * <pre>
       * Значение ОТП-кода
       * </pre>
       *
       * <code>string code = 2 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for code to set.
       * @return This builder for chaining.
       */
      public Builder setCodeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setCodeBytes(value);
        return this;
      }

      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The loginChallenge.
       */
      @java.lang.Override
      public java.lang.String getLoginChallenge() {
        return instance.getLoginChallenge();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for loginChallenge.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLoginChallengeBytes() {
        return instance.getLoginChallengeBytes();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The loginChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setLoginChallenge(
          java.lang.String value) {
        copyOnWrite();
        instance.setLoginChallenge(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearLoginChallenge() {
        copyOnWrite();
        instance.clearLoginChallenge();
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 3 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for loginChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setLoginChallengeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setLoginChallengeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByCodeRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "codeId_",
              "code_",
              "loginChallenge_",
            };
            java.lang.String info =
                "\u0000\u0003\u0000\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u0208\u0002\u0208" +
                "\u0003\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByCodeRequest)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest DEFAULT_INSTANCE;
    static {
      PostOauth2LoginByCodeRequest defaultInstance = new PostOauth2LoginByCodeRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostOauth2LoginByCodeRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostOauth2LoginByCodeRequest> PARSER;

    public static com.google.protobuf.Parser<PostOauth2LoginByCodeRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostOauth2LoginByCodeResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByCodeResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error getError();

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос об авторизации пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeResponse}
   */
  public  static final class PostOauth2LoginByCodeResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostOauth2LoginByCodeResponse, PostOauth2LoginByCodeResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByCodeResponse)
      PostOauth2LoginByCodeResponseOrBuilder {
    private PostOauth2LoginByCodeResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       * @return Whether the otpCode field is set.
       */
      boolean hasOtpCode();
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       * @return The otpCode.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error getOtpCode();

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       * @return The sso.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso();

      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       * @return The key.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey();

      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       * @return Whether the authService field is set.
       */
      boolean hasAuthService();
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       * @return The authService.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService();

      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        OTP_CODE(1),
        SSO(2),
        KEY(3),
        AUTH_SERVICE(4),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return OTP_CODE;
            case 2: return SSO;
            case 3: return KEY;
            case 4: return AUTH_SERVICE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int OTP_CODE_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       */
      @java.lang.Override
      public boolean hasOtpCode() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error getOtpCode() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void setOtpCode(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void mergeOtpCode(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка отп-кода
       * </pre>
       *
       * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
       */
      private void clearOtpCode() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int SSO_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void setSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void mergeSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int KEY_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public boolean hasKey() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void setKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void mergeKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void clearKey() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int AUTH_SERVICE_FIELD_NUMBER = 4;
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      @java.lang.Override
      public boolean hasAuthService() {
        return reasonCase_ == 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  if (reasonCase_ == 4 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void clearAuthService() {
        if (reasonCase_ == 4) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error)
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        @java.lang.Override
        public boolean hasOtpCode() {
          return instance.hasOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error getOtpCode() {
          return instance.getOtpCode();
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder setOtpCode(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.setOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder setOtpCode(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setOtpCode(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder mergeOtpCode(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error value) {
          copyOnWrite();
          instance.mergeOtpCode(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка отп-кода
         * </pre>
         *
         * <code>.keyapis.identity.v1.OtpCode.Error otp_code = 1;</code>
         */
        public Builder clearOtpCode() {
          copyOnWrite();
          instance.clearOtpCode();
          return this;
        }

        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder mergeSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public boolean hasKey() {
          return instance.hasKey();
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey() {
          return instance.getKey();
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder setKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
          copyOnWrite();
          instance.setKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder setKey(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.Builder builderForValue) {
          copyOnWrite();
          instance.setKey(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder mergeKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
          copyOnWrite();
          instance.mergeKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder clearKey() {
          copyOnWrite();
          instance.clearKey();
          return this;
        }

        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        @java.lang.Override
        public boolean hasAuthService() {
          return instance.hasAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
          return instance.getAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.setAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder setAuthService(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.Builder builderForValue) {
          copyOnWrite();
          instance.setAuthService(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.mergeAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder clearAuthService() {
          copyOnWrite();
          instance.clearAuthService();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.OtpCode.Error.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.class,
              };
              java.lang.String info =
                  "\u0000\u0004\u0001\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000\u0004<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error)
      private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error) type_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос об авторизации пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByCodeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByCodeResponse)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponseOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByCodeResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByCodeResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.Error.class,
            };
            java.lang.String info =
                "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByCodeResponse)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse DEFAULT_INSTANCE;
    static {
      PostOauth2LoginByCodeResponse defaultInstance = new PostOauth2LoginByCodeResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostOauth2LoginByCodeResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByCodeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostOauth2LoginByCodeResponse> PARSER;

    public static com.google.protobuf.Parser<PostOauth2LoginByCodeResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostOauth2LoginByPasswordRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByPasswordRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return Whether the phoneNumber field is set.
     */
    boolean hasPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return The phoneNumber.
     */
    java.lang.String getPhoneNumber();
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return The bytes for phoneNumber.
     */
    com.google.protobuf.ByteString
        getPhoneNumberBytes();

    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return Whether the email field is set.
     */
    boolean hasEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return The email.
     */
    java.lang.String getEmail();
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return The bytes for email.
     */
    com.google.protobuf.ByteString
        getEmailBytes();

    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return Whether the login field is set.
     */
    boolean hasLogin();
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return The login.
     */
    java.lang.String getLogin();
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return The bytes for login.
     */
    com.google.protobuf.ByteString
        getLoginBytes();

    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The password.
     */
    java.lang.String getPassword();
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for password.
     */
    com.google.protobuf.ByteString
        getPasswordBytes();

    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return Whether the captchaAnswer field is set.
     */
    boolean hasCaptchaAnswer();
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return The captchaAnswer.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer getCaptchaAnswer();

    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The loginChallenge.
     */
    java.lang.String getLoginChallenge();
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for loginChallenge.
     */
    com.google.protobuf.ByteString
        getLoginChallengeBytes();

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Запрос на авторизацию по паролю
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordRequest}
   */
  public  static final class PostOauth2LoginByPasswordRequest extends
      com.google.protobuf.GeneratedMessageLite<
          PostOauth2LoginByPasswordRequest, PostOauth2LoginByPasswordRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByPasswordRequest)
      PostOauth2LoginByPasswordRequestOrBuilder {
    private PostOauth2LoginByPasswordRequest() {
      password_ = "";
      loginChallenge_ = "";
    }
    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      PHONE_NUMBER(1),
      EMAIL(2),
      LOGIN(3),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return PHONE_NUMBER;
          case 2: return EMAIL;
          case 3: return LOGIN;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int PHONE_NUMBER_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return Whether the phoneNumber field is set.
     */
    @java.lang.Override
    public boolean hasPhoneNumber() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return The phoneNumber.
     */
    @java.lang.Override
    public java.lang.String getPhoneNumber() {
      java.lang.String ref = "";
      if (typeCase_ == 1) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @return The bytes for phoneNumber.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPhoneNumberBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 1) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @param value The phoneNumber to set.
     */
    private void setPhoneNumber(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 1;
      type_ = value;
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     */
    private void clearPhoneNumber() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Номер телефона
     * </pre>
     *
     * <code>string phone_number = 1;</code>
     * @param value The bytes for phoneNumber to set.
     */
    private void setPhoneNumberBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 1;
    }

    public static final int EMAIL_FIELD_NUMBER = 2;
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return Whether the email field is set.
     */
    @java.lang.Override
    public boolean hasEmail() {
      return typeCase_ == 2;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return The email.
     */
    @java.lang.Override
    public java.lang.String getEmail() {
      java.lang.String ref = "";
      if (typeCase_ == 2) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @return The bytes for email.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEmailBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 2) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @param value The email to set.
     */
    private void setEmail(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 2;
      type_ = value;
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     */
    private void clearEmail() {
      if (typeCase_ == 2) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Электронная почта
     * </pre>
     *
     * <code>string email = 2;</code>
     * @param value The bytes for email to set.
     */
    private void setEmailBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 2;
    }

    public static final int LOGIN_FIELD_NUMBER = 3;
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return Whether the login field is set.
     */
    @java.lang.Override
    public boolean hasLogin() {
      return typeCase_ == 3;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return The login.
     */
    @java.lang.Override
    public java.lang.String getLogin() {
      java.lang.String ref = "";
      if (typeCase_ == 3) {
        ref = (java.lang.String) type_;
      }
      return ref;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @return The bytes for login.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLoginBytes() {
      java.lang.String ref = "";
      if (typeCase_ == 3) {
        ref = (java.lang.String) type_;
      }
      return com.google.protobuf.ByteString.copyFromUtf8(ref);
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @param value The login to set.
     */
    private void setLogin(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  typeCase_ = 3;
      type_ = value;
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     */
    private void clearLogin() {
      if (typeCase_ == 3) {
        typeCase_ = 0;
        type_ = null;
      }
    }
    /**
     * <pre>
     * Логин
     * </pre>
     *
     * <code>string login = 3;</code>
     * @param value The bytes for login to set.
     */
    private void setLoginBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      type_ = value.toStringUtf8();
      typeCase_ = 3;
    }

    public static final int PASSWORD_FIELD_NUMBER = 4;
    private java.lang.String password_;
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The password.
     */
    @java.lang.Override
    public java.lang.String getPassword() {
      return password_;
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for password.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPasswordBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(password_);
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The password to set.
     */
    private void setPassword(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      password_ = value;
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearPassword() {

      password_ = getDefaultInstance().getPassword();
    }
    /**
     * <pre>
     * Пароль
     * </pre>
     *
     * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for password to set.
     */
    private void setPasswordBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      password_ = value.toStringUtf8();

    }

    public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 5;
    private ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer captchaAnswer_;
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.Override
    public boolean hasCaptchaAnswer() {
      return captchaAnswer_ != null;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer getCaptchaAnswer() {
      return captchaAnswer_ == null ? ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.getDefaultInstance() : captchaAnswer_;
    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    private void setCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer value) {
      value.getClass();
  captchaAnswer_ = value;

      }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer value) {
      value.getClass();
  if (captchaAnswer_ != null &&
          captchaAnswer_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.getDefaultInstance()) {
        captchaAnswer_ =
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.newBuilder(captchaAnswer_).mergeFrom(value).buildPartial();
      } else {
        captchaAnswer_ = value;
      }

    }
    /**
     * <pre>
     * Ответ на капчу
     * </pre>
     *
     * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    private void clearCaptchaAnswer() {  captchaAnswer_ = null;

    }

    public static final int LOGIN_CHALLENGE_FIELD_NUMBER = 6;
    private java.lang.String loginChallenge_;
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The loginChallenge.
     */
    @java.lang.Override
    public java.lang.String getLoginChallenge() {
      return loginChallenge_;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for loginChallenge.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLoginChallengeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(loginChallenge_);
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The loginChallenge to set.
     */
    private void setLoginChallenge(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      loginChallenge_ = value;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearLoginChallenge() {

      loginChallenge_ = getDefaultInstance().getLoginChallenge();
    }
    /**
     * <pre>
     * Идентификатор текущей попытки логина пользователя
     * </pre>
     *
     * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for loginChallenge to set.
     */
    private void setLoginChallengeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      loginChallenge_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос на авторизацию по паролю
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByPasswordRequest)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequestOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @return Whether the phoneNumber field is set.
       */
      @java.lang.Override
      public boolean hasPhoneNumber() {
        return instance.hasPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @return The phoneNumber.
       */
      @java.lang.Override
      public java.lang.String getPhoneNumber() {
        return instance.getPhoneNumber();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @return The bytes for phoneNumber.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPhoneNumberBytes() {
        return instance.getPhoneNumberBytes();
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @param value The phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumber(
          java.lang.String value) {
        copyOnWrite();
        instance.setPhoneNumber(value);
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearPhoneNumber() {
        copyOnWrite();
        instance.clearPhoneNumber();
        return this;
      }
      /**
       * <pre>
       * Номер телефона
       * </pre>
       *
       * <code>string phone_number = 1;</code>
       * @param value The bytes for phoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPhoneNumberBytes(value);
        return this;
      }

      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @return Whether the email field is set.
       */
      @java.lang.Override
      public boolean hasEmail() {
        return instance.hasEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @return The email.
       */
      @java.lang.Override
      public java.lang.String getEmail() {
        return instance.getEmail();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @return The bytes for email.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getEmailBytes() {
        return instance.getEmailBytes();
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @param value The email to set.
       * @return This builder for chaining.
       */
      public Builder setEmail(
          java.lang.String value) {
        copyOnWrite();
        instance.setEmail(value);
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmail() {
        copyOnWrite();
        instance.clearEmail();
        return this;
      }
      /**
       * <pre>
       * Электронная почта
       * </pre>
       *
       * <code>string email = 2;</code>
       * @param value The bytes for email to set.
       * @return This builder for chaining.
       */
      public Builder setEmailBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setEmailBytes(value);
        return this;
      }

      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @return Whether the login field is set.
       */
      @java.lang.Override
      public boolean hasLogin() {
        return instance.hasLogin();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @return The login.
       */
      @java.lang.Override
      public java.lang.String getLogin() {
        return instance.getLogin();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @return The bytes for login.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLoginBytes() {
        return instance.getLoginBytes();
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @param value The login to set.
       * @return This builder for chaining.
       */
      public Builder setLogin(
          java.lang.String value) {
        copyOnWrite();
        instance.setLogin(value);
        return this;
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearLogin() {
        copyOnWrite();
        instance.clearLogin();
        return this;
      }
      /**
       * <pre>
       * Логин
       * </pre>
       *
       * <code>string login = 3;</code>
       * @param value The bytes for login to set.
       * @return This builder for chaining.
       */
      public Builder setLoginBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setLoginBytes(value);
        return this;
      }

      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The password.
       */
      @java.lang.Override
      public java.lang.String getPassword() {
        return instance.getPassword();
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for password.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getPasswordBytes() {
        return instance.getPasswordBytes();
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The password to set.
       * @return This builder for chaining.
       */
      public Builder setPassword(
          java.lang.String value) {
        copyOnWrite();
        instance.setPassword(value);
        return this;
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearPassword() {
        copyOnWrite();
        instance.clearPassword();
        return this;
      }
      /**
       * <pre>
       * Пароль
       * </pre>
       *
       * <code>string password = 4 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for password to set.
       * @return This builder for chaining.
       */
      public Builder setPasswordBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setPasswordBytes(value);
        return this;
      }

      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return instance.hasCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer getCaptchaAnswer() {
        return instance.getCaptchaAnswer();
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder setCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.setCaptchaAnswer(value);
        return this;
        }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder setCaptchaAnswer(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Builder builderForValue) {
        copyOnWrite();
        instance.setCaptchaAnswer(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder mergeCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer value) {
        copyOnWrite();
        instance.mergeCaptchaAnswer(value);
        return this;
      }
      /**
       * <pre>
       * Ответ на капчу
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer captcha_answer = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
       */
      public Builder clearCaptchaAnswer() {  copyOnWrite();
        instance.clearCaptchaAnswer();
        return this;
      }

      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The loginChallenge.
       */
      @java.lang.Override
      public java.lang.String getLoginChallenge() {
        return instance.getLoginChallenge();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for loginChallenge.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLoginChallengeBytes() {
        return instance.getLoginChallengeBytes();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The loginChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setLoginChallenge(
          java.lang.String value) {
        copyOnWrite();
        instance.setLoginChallenge(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearLoginChallenge() {
        copyOnWrite();
        instance.clearLoginChallenge();
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки логина пользователя
       * </pre>
       *
       * <code>string login_challenge = 6 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for loginChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setLoginChallengeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setLoginChallengeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByPasswordRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              "password_",
              "captchaAnswer_",
              "loginChallenge_",
            };
            java.lang.String info =
                "\u0000\u0006\u0001\u0000\u0001\u0006\u0006\u0000\u0000\u0000\u0001\u023b\u0000\u0002" +
                "\u023b\u0000\u0003\u023b\u0000\u0004\u0208\u0005\t\u0006\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByPasswordRequest)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest DEFAULT_INSTANCE;
    static {
      PostOauth2LoginByPasswordRequest defaultInstance = new PostOauth2LoginByPasswordRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostOauth2LoginByPasswordRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostOauth2LoginByPasswordRequest> PARSER;

    public static com.google.protobuf.Parser<PostOauth2LoginByPasswordRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface PostOauth2LoginByPasswordResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByPasswordResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error getError();

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос об авторизации по паролю пользователя
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordResponse}
   */
  public  static final class PostOauth2LoginByPasswordResponse extends
      com.google.protobuf.GeneratedMessageLite<
          PostOauth2LoginByPasswordResponse, PostOauth2LoginByPasswordResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByPasswordResponse)
      PostOauth2LoginByPasswordResponseOrBuilder {
    private PostOauth2LoginByPasswordResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return Whether the captchaAnswer field is set.
       */
      boolean hasCaptchaAnswer();
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       * @return The captchaAnswer.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error getCaptchaAnswer();

      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       * @return Whether the sso field is set.
       */
      boolean hasSso();
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       * @return The sso.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso();

      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       * @return Whether the key field is set.
       */
      boolean hasKey();
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       * @return The key.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey();

      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       * @return Whether the authService field is set.
       */
      boolean hasAuthService();
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       * @return The authService.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService();

      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        CAPTCHA_ANSWER(1),
        SSO(2),
        KEY(3),
        AUTH_SERVICE(4),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return CAPTCHA_ANSWER;
            case 2: return SSO;
            case 3: return KEY;
            case 4: return AUTH_SERVICE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int CAPTCHA_ANSWER_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public boolean hasCaptchaAnswer() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void setCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void mergeCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибка капчи
       * </pre>
       *
       * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
       */
      private void clearCaptchaAnswer() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int SSO_FIELD_NUMBER = 2;
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public boolean hasSso() {
        return reasonCase_ == 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso() {
        if (reasonCase_ == 2) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void setSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void mergeSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
        value.getClass();
  if (reasonCase_ == 2 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 2;
      }
      /**
       * <pre>
       * Ошибка из ССО
       * </pre>
       *
       * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
       */
      private void clearSso() {
        if (reasonCase_ == 2) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int KEY_FIELD_NUMBER = 3;
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public boolean hasKey() {
        return reasonCase_ == 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey() {
        if (reasonCase_ == 3) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void setKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void mergeKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
        value.getClass();
  if (reasonCase_ == 3 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 3;
      }
      /**
       * <pre>
       * Ошибки сервисов ключа
       * </pre>
       *
       * <code>.keyapis.identity.v1.KeyError key = 3;</code>
       */
      private void clearKey() {
        if (reasonCase_ == 3) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static final int AUTH_SERVICE_FIELD_NUMBER = 4;
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      @java.lang.Override
      public boolean hasAuthService() {
        return reasonCase_ == 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
        if (reasonCase_ == 4) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  if (reasonCase_ == 4 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 4;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
       */
      private void clearAuthService() {
        if (reasonCase_ == 4) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error)
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public boolean hasCaptchaAnswer() {
          return instance.hasCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error getCaptchaAnswer() {
          return instance.getCaptchaAnswer();
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.setCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder setCaptchaAnswer(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error.Builder builderForValue) {
          copyOnWrite();
          instance.setCaptchaAnswer(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder mergeCaptchaAnswer(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error value) {
          copyOnWrite();
          instance.mergeCaptchaAnswer(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка капчи
         * </pre>
         *
         * <code>.keyapis.identity.v1.CaptchaAnswer.Error captcha_answer = 1;</code>
         */
        public Builder clearCaptchaAnswer() {
          copyOnWrite();
          instance.clearCaptchaAnswer();
          return this;
        }

        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public boolean hasSso() {
          return instance.hasSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError getSso() {
          return instance.getSso();
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
          copyOnWrite();
          instance.setSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder setSso(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.Builder builderForValue) {
          copyOnWrite();
          instance.setSso(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder mergeSso(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError value) {
          copyOnWrite();
          instance.mergeSso(value);
          return this;
        }
        /**
         * <pre>
         * Ошибка из ССО
         * </pre>
         *
         * <code>.keyapis.identity.v1.SsoError sso = 2;</code>
         */
        public Builder clearSso() {
          copyOnWrite();
          instance.clearSso();
          return this;
        }

        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public boolean hasKey() {
          return instance.hasKey();
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError getKey() {
          return instance.getKey();
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder setKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
          copyOnWrite();
          instance.setKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder setKey(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.Builder builderForValue) {
          copyOnWrite();
          instance.setKey(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder mergeKey(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError value) {
          copyOnWrite();
          instance.mergeKey(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки сервисов ключа
         * </pre>
         *
         * <code>.keyapis.identity.v1.KeyError key = 3;</code>
         */
        public Builder clearKey() {
          copyOnWrite();
          instance.clearKey();
          return this;
        }

        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        @java.lang.Override
        public boolean hasAuthService() {
          return instance.hasAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
          return instance.getAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.setAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder setAuthService(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.Builder builderForValue) {
          copyOnWrite();
          instance.setAuthService(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.mergeAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 4;</code>
         */
        public Builder clearAuthService() {
          copyOnWrite();
          instance.clearAuthService();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.CaptchaAnswer.Error.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.SsoError.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.KeyError.class,
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.class,
              };
              java.lang.String info =
                  "\u0000\u0004\u0001\u0000\u0001\u0004\u0004\u0000\u0000\u0000\u0001<\u0000\u0002<" +
                  "\u0000\u0003<\u0000\u0004<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error)
      private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error) type_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос об авторизации по паролю пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.PostOauth2LoginByPasswordResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.PostOauth2LoginByPasswordResponse)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponseOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.PostOauth2LoginByPasswordResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.PostOauth2LoginByPasswordResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.Error.class,
            };
            java.lang.String info =
                "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.PostOauth2LoginByPasswordResponse)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse DEFAULT_INSTANCE;
    static {
      PostOauth2LoginByPasswordResponse defaultInstance = new PostOauth2LoginByPasswordResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        PostOauth2LoginByPasswordResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.PostOauth2LoginByPasswordResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<PostOauth2LoginByPasswordResponse> PARSER;

    public static com.google.protobuf.Parser<PostOauth2LoginByPasswordResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface GetOauth2ConsentRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.GetOauth2ConsentRequest)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The consentChallenge.
     */
    java.lang.String getConsentChallenge();
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for consentChallenge.
     */
    com.google.protobuf.ByteString
        getConsentChallengeBytes();
  }
  /**
   * <pre>
   * Запрос соглашения пользователя по процедуре OAuth2
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentRequest}
   */
  public  static final class GetOauth2ConsentRequest extends
      com.google.protobuf.GeneratedMessageLite<
          GetOauth2ConsentRequest, GetOauth2ConsentRequest.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.GetOauth2ConsentRequest)
      GetOauth2ConsentRequestOrBuilder {
    private GetOauth2ConsentRequest() {
      consentChallenge_ = "";
    }
    public static final int CONSENT_CHALLENGE_FIELD_NUMBER = 1;
    private java.lang.String consentChallenge_;
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The consentChallenge.
     */
    @java.lang.Override
    public java.lang.String getConsentChallenge() {
      return consentChallenge_;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return The bytes for consentChallenge.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConsentChallengeBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(consentChallenge_);
    }
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The consentChallenge to set.
     */
    private void setConsentChallenge(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      consentChallenge_ = value;
    }
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    private void clearConsentChallenge() {

      consentChallenge_ = getDefaultInstance().getConsentChallenge();
    }
    /**
     * <pre>
     * Идентификатор текущей попытки запроса соглашения пользователя
     * </pre>
     *
     * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param value The bytes for consentChallenge to set.
     */
    private void setConsentChallengeBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      consentChallenge_ = value.toStringUtf8();

    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Запрос соглашения пользователя по процедуре OAuth2
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.GetOauth2ConsentRequest)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequestOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <pre>
       * Идентификатор текущей попытки запроса соглашения пользователя
       * </pre>
       *
       * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The consentChallenge.
       */
      @java.lang.Override
      public java.lang.String getConsentChallenge() {
        return instance.getConsentChallenge();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки запроса соглашения пользователя
       * </pre>
       *
       * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return The bytes for consentChallenge.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getConsentChallengeBytes() {
        return instance.getConsentChallengeBytes();
      }
      /**
       * <pre>
       * Идентификатор текущей попытки запроса соглашения пользователя
       * </pre>
       *
       * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The consentChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setConsentChallenge(
          java.lang.String value) {
        copyOnWrite();
        instance.setConsentChallenge(value);
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки запроса соглашения пользователя
       * </pre>
       *
       * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @return This builder for chaining.
       */
      public Builder clearConsentChallenge() {
        copyOnWrite();
        instance.clearConsentChallenge();
        return this;
      }
      /**
       * <pre>
       * Идентификатор текущей попытки запроса соглашения пользователя
       * </pre>
       *
       * <code>string consent_challenge = 1 [(.google.api.field_behavior) = REQUIRED];</code>
       * @param value The bytes for consentChallenge to set.
       * @return This builder for chaining.
       */
      public Builder setConsentChallengeBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setConsentChallengeBytes(value);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.GetOauth2ConsentRequest)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "consentChallenge_",
            };
            java.lang.String info =
                "\u0000\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001\u0208";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.GetOauth2ConsentRequest)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest DEFAULT_INSTANCE;
    static {
      GetOauth2ConsentRequest defaultInstance = new GetOauth2ConsentRequest();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetOauth2ConsentRequest.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<GetOauth2ConsentRequest> PARSER;

    public static com.google.protobuf.Parser<GetOauth2ConsentRequest> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface GetOauth2ConsentResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.GetOauth2ConsentResponse)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     * @return Whether the error field is set.
     */
    boolean hasError();
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     * @return The error.
     */
    ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error getError();

    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.TypeCase getTypeCase();
  }
  /**
   * <pre>
   * Ответ на запрос соглашения пользователя по процедуре OAuth2
   * </pre>
   *
   * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentResponse}
   */
  public  static final class GetOauth2ConsentResponse extends
      com.google.protobuf.GeneratedMessageLite<
          GetOauth2ConsentResponse, GetOauth2ConsentResponse.Builder> implements
      // @@protoc_insertion_point(message_implements:keyapis.identity.v1.GetOauth2ConsentResponse)
      GetOauth2ConsentResponseOrBuilder {
    private GetOauth2ConsentResponse() {
    }
    public interface ErrorOrBuilder extends
        // @@protoc_insertion_point(interface_extends:keyapis.identity.v1.GetOauth2ConsentResponse.Error)
        com.google.protobuf.MessageLiteOrBuilder {

      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       * @return Whether the authService field is set.
       */
      boolean hasAuthService();
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       * @return The authService.
       */
      ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService();

      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.ReasonCase getReasonCase();
    }
    /**
     * <pre>
     * Ошибка запроса авторизации пользователя
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentResponse.Error}
     */
    public  static final class Error extends
        com.google.protobuf.GeneratedMessageLite<
            Error, Error.Builder> implements
        // @@protoc_insertion_point(message_implements:keyapis.identity.v1.GetOauth2ConsentResponse.Error)
        ErrorOrBuilder {
      private Error() {
      }
      private int reasonCase_ = 0;
      private java.lang.Object reason_;
      public enum ReasonCase {
        AUTH_SERVICE(1),
        REASON_NOT_SET(0);
        private final int value;
        private ReasonCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static ReasonCase valueOf(int value) {
          return forNumber(value);
        }

        public static ReasonCase forNumber(int value) {
          switch (value) {
            case 1: return AUTH_SERVICE;
            case 0: return REASON_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      @java.lang.Override
      public ReasonCase
      getReasonCase() {
        return ReasonCase.forNumber(
            reasonCase_);
      }

      private void clearReason() {
        reasonCase_ = 0;
        reason_ = null;
      }

      public static final int AUTH_SERVICE_FIELD_NUMBER = 1;
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       */
      @java.lang.Override
      public boolean hasAuthService() {
        return reasonCase_ == 1;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
        if (reasonCase_ == 1) {
           return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_;
        }
        return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance();
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       */
      private void setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  reason_ = value;
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       */
      private void mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
        value.getClass();
  if (reasonCase_ == 1 &&
            reason_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.getDefaultInstance()) {
          reason_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError) reason_)
              .mergeFrom(value).buildPartial();
        } else {
          reason_ = value;
        }
        reasonCase_ = 1;
      }
      /**
       * <pre>
       * Ошибки авторизационного сервиса
       * </pre>
       *
       * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
       */
      private void clearAuthService() {
        if (reasonCase_ == 1) {
          reasonCase_ = 0;
          reason_ = null;
        }
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, data, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input);
      }
      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageLite.parseFrom(
            DEFAULT_INSTANCE, input, extensionRegistry);
      }

      public static Builder newBuilder() {
        return (Builder) DEFAULT_INSTANCE.createBuilder();
      }
      public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error prototype) {
        return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
      }

      /**
       * <pre>
       * Ошибка запроса авторизации пользователя
       * </pre>
       *
       * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentResponse.Error}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageLite.Builder<
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error, Builder> implements
          // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.GetOauth2ConsentResponse.Error)
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.ErrorOrBuilder {
        // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.newBuilder()
        private Builder() {
          super(DEFAULT_INSTANCE);
        }

        @java.lang.Override
        public ReasonCase
            getReasonCase() {
          return instance.getReasonCase();
        }

        public Builder clearReason() {
          copyOnWrite();
          instance.clearReason();
          return this;
        }


        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        @java.lang.Override
        public boolean hasAuthService() {
          return instance.hasAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        @java.lang.Override
        public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError getAuthService() {
          return instance.getAuthService();
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        public Builder setAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.setAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        public Builder setAuthService(
            ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.Builder builderForValue) {
          copyOnWrite();
          instance.setAuthService(builderForValue.build());
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        public Builder mergeAuthService(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError value) {
          copyOnWrite();
          instance.mergeAuthService(value);
          return this;
        }
        /**
         * <pre>
         * Ошибки авторизационного сервиса
         * </pre>
         *
         * <code>.keyapis.identity.v1.AuthServiceError auth_service = 1;</code>
         */
        public Builder clearAuthService() {
          copyOnWrite();
          instance.clearAuthService();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.GetOauth2ConsentResponse.Error)
      }
      @java.lang.Override
      @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
      protected final java.lang.Object dynamicMethod(
          com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
          java.lang.Object arg0, java.lang.Object arg1) {
        switch (method) {
          case NEW_MUTABLE_INSTANCE: {
            return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error();
          }
          case NEW_BUILDER: {
            return new Builder();
          }
          case BUILD_MESSAGE_INFO: {
              java.lang.Object[] objects = new java.lang.Object[] {
                "reason_",
                "reasonCase_",
                ru.keyapis.identity.v1.KeyapisIdentityV1Proto.AuthServiceError.class,
              };
              java.lang.String info =
                  "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
              return newMessageInfo(DEFAULT_INSTANCE, info, objects);
          }
          // fall through
          case GET_DEFAULT_INSTANCE: {
            return DEFAULT_INSTANCE;
          }
          case GET_PARSER: {
            com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error> parser = PARSER;
            if (parser == null) {
              synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.class) {
                parser = PARSER;
                if (parser == null) {
                  parser =
                      new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error>(
                          DEFAULT_INSTANCE);
                  PARSER = parser;
                }
              }
            }
            return parser;
        }
        case GET_MEMOIZED_IS_INITIALIZED: {
          return (byte) 1;
        }
        case SET_MEMOIZED_IS_INITIALIZED: {
          return null;
        }
        }
        throw new UnsupportedOperationException();
      }


      // @@protoc_insertion_point(class_scope:keyapis.identity.v1.GetOauth2ConsentResponse.Error)
      private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error DEFAULT_INSTANCE;
      static {
        Error defaultInstance = new Error();
        // New instances are implicitly immutable so no need to make
        // immutable.
        DEFAULT_INSTANCE = defaultInstance;
        com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
          Error.class, defaultInstance);
      }

      public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static volatile com.google.protobuf.Parser<Error> PARSER;

      public static com.google.protobuf.Parser<Error> parser() {
        return DEFAULT_INSTANCE.getParserForType();
      }
    }

    private int typeCase_ = 0;
    private java.lang.Object type_;
    public enum TypeCase {
      ERROR(1),
      TYPE_NOT_SET(0);
      private final int value;
      private TypeCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static TypeCase valueOf(int value) {
        return forNumber(value);
      }

      public static TypeCase forNumber(int value) {
        switch (value) {
          case 1: return ERROR;
          case 0: return TYPE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    @java.lang.Override
    public TypeCase
    getTypeCase() {
      return TypeCase.forNumber(
          typeCase_);
    }

    private void clearType() {
      typeCase_ = 0;
      type_ = null;
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public boolean hasError() {
      return typeCase_ == 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     */
    @java.lang.Override
    public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error getError() {
      if (typeCase_ == 1) {
         return (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error) type_;
      }
      return ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.getDefaultInstance();
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     */
    private void setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error value) {
      value.getClass();
  type_ = value;
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     */
    private void mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error value) {
      value.getClass();
  if (typeCase_ == 1 &&
          type_ != ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.getDefaultInstance()) {
        type_ = ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.newBuilder((ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error) type_)
            .mergeFrom(value).buildPartial();
      } else {
        type_ = value;
      }
      typeCase_ = 1;
    }
    /**
     * <pre>
     * Ошибка
     * </pre>
     *
     * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
     */
    private void clearError() {
      if (typeCase_ == 1) {
        typeCase_ = 0;
        type_ = null;
      }
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * <pre>
     * Ответ на запрос соглашения пользователя по процедуре OAuth2
     * </pre>
     *
     * Protobuf type {@code keyapis.identity.v1.GetOauth2ConsentResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse, Builder> implements
        // @@protoc_insertion_point(builder_implements:keyapis.identity.v1.GetOauth2ConsentResponse)
        ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponseOrBuilder {
      // Construct using ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }

      @java.lang.Override
      public TypeCase
          getTypeCase() {
        return instance.getTypeCase();
      }

      public Builder clearType() {
        copyOnWrite();
        instance.clearType();
        return this;
      }


      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public boolean hasError() {
        return instance.hasError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      @java.lang.Override
      public ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error getError() {
        return instance.getError();
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      public Builder setError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error value) {
        copyOnWrite();
        instance.setError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      public Builder setError(
          ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.Builder builderForValue) {
        copyOnWrite();
        instance.setError(builderForValue.build());
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      public Builder mergeError(ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error value) {
        copyOnWrite();
        instance.mergeError(value);
        return this;
      }
      /**
       * <pre>
       * Ошибка
       * </pre>
       *
       * <code>.keyapis.identity.v1.GetOauth2ConsentResponse.Error error = 1;</code>
       */
      public Builder clearError() {
        copyOnWrite();
        instance.clearError();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:keyapis.identity.v1.GetOauth2ConsentResponse)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "type_",
              "typeCase_",
              ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.Error.class,
            };
            java.lang.String info =
                "\u0000\u0001\u0001\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0001<\u0000";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse> parser = PARSER;
          if (parser == null) {
            synchronized (ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:keyapis.identity.v1.GetOauth2ConsentResponse)
    private static final ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse DEFAULT_INSTANCE;
    static {
      GetOauth2ConsentResponse defaultInstance = new GetOauth2ConsentResponse();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        GetOauth2ConsentResponse.class, defaultInstance);
    }

    public static ru.keyapis.identity.v1.KeyapisIdentityV1Proto.GetOauth2ConsentResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<GetOauth2ConsentResponse> PARSER;

    public static com.google.protobuf.Parser<GetOauth2ConsentResponse> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
