text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/language/v1beta2/language_service.proto

package com.google.cloud.language.v1beta2;

/**
 *
 *
 *

 * Model options available for classification requests.
 *

 *
 * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions}
 */
public final class ClassificationModelOptions extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.cloud.language.v1beta2.ClassificationModelOptions)
    ClassificationModelOptionsOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use ClassificationModelOptions.newBuilder() to construct.
  private ClassificationModelOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private ClassificationModelOptions() {}

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
    return new ClassificationModelOptions();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.cloud.language.v1beta2.LanguageServiceProto
        .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.language.v1beta2.LanguageServiceProto
        .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.language.v1beta2.ClassificationModelOptions.class,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.Builder.class);
  }

  public interface V1ModelOrBuilder
      extends
      // @@protoc_insertion_point(interface_extends:google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
      com.google.protobuf.MessageOrBuilder {}
  /**
   *
   *
   *

   * Options for the V1 model.
   *

   *
   * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions.V1Model}
   */
  public static final class V1Model extends com.google.protobuf.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
      V1ModelOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use V1Model.newBuilder() to construct.
    private V1Model(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private V1Model() {}

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
      return new V1Model();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V1Model_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V1Model_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.class,
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder.class);
    }

    private byte memoizedIsInitialized = -1;

    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)) {
        return super.equals(obj);
      }
      com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model other =
          (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) obj;

      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        java.io.InputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
          PARSER, input, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        parseDelimitedFrom(
            java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        com.google.protobuf.CodedInputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
          PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() {
      return newBuilder();
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }

    public static Builder newBuilder(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     *
     *
     *

     * Options for the V1 model.
     *

     *
     * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions.V1Model}
     */
    public static final class Builder
        extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V1Model_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V1Model_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.class,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder.class);
      }

      // Construct using
      // com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.newBuilder()
      private Builder() {}

      private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V1Model_descriptor;
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
          getDefaultInstanceForType() {
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
            .getDefaultInstance();
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model build() {
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model buildPartial() {
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model result =
            new com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }

      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.setField(field, value);
      }

      @java.lang.Override
      public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }

      @java.lang.Override
      public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }

      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index,
          java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }

      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) {
          return mergeFrom(
              (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model other) {
        if (other
            == com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
                .getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default:
                {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }

      // @@protoc_insertion_point(builder_scope:google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
    }

    // @@protoc_insertion_point(class_scope:google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
    private static final com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE = new com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model();
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<V1Model> PARSER =
        new com.google.protobuf.AbstractParser<V1Model>() {
          @java.lang.Override
          public V1Model parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException()
                  .setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

    public static com.google.protobuf.Parser<V1Model> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<V1Model> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

  public interface V2ModelOrBuilder
      extends
      // @@protoc_insertion_point(interface_extends:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
      com.google.protobuf.MessageOrBuilder {

    /**
     *
     *
     *

     * The content categories used for classification.
     *

     *
     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
     *
     *
     * @return The enum numeric value on the wire for contentCategoriesVersion.
     */
    int getContentCategoriesVersionValue();
    /**
     *
     *
     *

     * The content categories used for classification.
     *

     *
     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
     *
     *
     * @return The contentCategoriesVersion.
     */
    com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion
        getContentCategoriesVersion();
  }
  /**
   *
   *
   *

   * Options for the V2 model.
   *

   *
   * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions.V2Model}
   */
  public static final class V2Model extends com.google.protobuf.GeneratedMessageV3
      implements
      // @@protoc_insertion_point(message_implements:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
      V2ModelOrBuilder {
    private static final long serialVersionUID = 0L;
    // Use V2Model.newBuilder() to construct.
    private V2Model(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }

    private V2Model() {
      contentCategoriesVersion_ = 0;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
      return new V2Model();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
      return this.unknownFields;
    }

    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V2Model_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V2Model_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.class,
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder.class);
    }

    /**
     *
     *
     *

     * The content categories used for classification.
     *

     *
     * Protobuf enum {@code
     * google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion}
     */
    public enum ContentCategoriesVersion implements com.google.protobuf.ProtocolMessageEnum {
      /**
       *
       *
       *

       * If `ContentCategoriesVersion` is not specified, this option will
       * default to `V1`.
       *

       *
       * CONTENT_CATEGORIES_VERSION_UNSPECIFIED = 0;
       */
      CONTENT_CATEGORIES_VERSION_UNSPECIFIED(0),
      /**
       *
       *
       *

       * Legacy content categories of our initial launch in 2017.
       *

       *
       * V1 = 1;
       */
      V1(1),
      /**
       *
       *
       *

       * Updated content categories in 2022.
       *

       *
       * V2 = 2;
       */
      V2(2),
      UNRECOGNIZED(-1),
      ;

      /**
       *
       *
       *

       * If `ContentCategoriesVersion` is not specified, this option will
       * default to `V1`.
       *

       *
       * CONTENT_CATEGORIES_VERSION_UNSPECIFIED = 0;
       */
      public static final int CONTENT_CATEGORIES_VERSION_UNSPECIFIED_VALUE = 0;
      /**
       *
       *
       *

       * Legacy content categories of our initial launch in 2017.
       *

       *
       * V1 = 1;
       */
      public static final int V1_VALUE = 1;
      /**
       *
       *
       *

       * Updated content categories in 2022.
       *

       *
       * V2 = 2;
       */
      public static final int V2_VALUE = 2;

      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ContentCategoriesVersion valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static ContentCategoriesVersion forNumber(int value) {
        switch (value) {
          case 0:
            return CONTENT_CATEGORIES_VERSION_UNSPECIFIED;
          case 1:
            return V1;
          case 2:
            return V2;
          default:
            return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<ContentCategoriesVersion>
          internalGetValueMap() {
        return internalValueMap;
      }

      private static final com.google.protobuf.Internal.EnumLiteMap<ContentCategoriesVersion>
          internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<ContentCategoriesVersion>() {
                public ContentCategoriesVersion findValueByNumber(int number) {
                  return ContentCategoriesVersion.forNumber(number);
                }
              };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalStateException(
              "Can't get the descriptor of an unrecognized enum value.");
        }
        return getDescriptor().getValues().get(ordinal());
      }

      public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
        return getDescriptor();
      }

      public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.getDescriptor()
            .getEnumTypes()
            .get(0);
      }

      private static final ContentCategoriesVersion[] VALUES = values();

      public static ContentCategoriesVersion valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private ContentCategoriesVersion(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion)
    }

    public static final int CONTENT_CATEGORIES_VERSION_FIELD_NUMBER = 1;
    private int contentCategoriesVersion_;
    /**
     *
     *
     *

     * The content categories used for classification.
     *

     *
     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
     *
     *
     * @return The enum numeric value on the wire for contentCategoriesVersion.
     */
    @java.lang.Override
    public int getContentCategoriesVersionValue() {
      return contentCategoriesVersion_;
    }
    /**
     *
     *
     *

     * The content categories used for classification.
     *

     *
     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
     *
     *
     * @return The contentCategoriesVersion.
     */
    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
            .ContentCategoriesVersion
        getContentCategoriesVersion() {
      @SuppressWarnings("deprecation")
      com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion
          result =
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                  .ContentCategoriesVersion.valueOf(contentCategoriesVersion_);
      return result == null
          ? com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
              .ContentCategoriesVersion.UNRECOGNIZED
          : result;
    }

    private byte memoizedIsInitialized = -1;

    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
      if (contentCategoriesVersion_
          != com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
              .ContentCategoriesVersion.CONTENT_CATEGORIES_VERSION_UNSPECIFIED
              .getNumber()) {
        output.writeEnum(1, contentCategoriesVersion_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (contentCategoriesVersion_
          != com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
              .ContentCategoriesVersion.CONTENT_CATEGORIES_VERSION_UNSPECIFIED
              .getNumber()) {
        size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, contentCategoriesVersion_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)) {
        return super.equals(obj);
      }
      com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model other =
          (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) obj;

      if (contentCategoriesVersion_ != other.contentCategoriesVersion_) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONTENT_CATEGORIES_VERSION_FIELD_NUMBER;
      hash = (53 * hash) + contentCategoriesVersion_;
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        java.io.InputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
          PARSER, input, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        parseDelimitedFrom(
            java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
          PARSER, input, extensionRegistry);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        com.google.protobuf.CodedInputStream input) throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
          PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() {
      return newBuilder();
    }

    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }

    public static Builder newBuilder(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }

    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     *
     *
     *

     * Options for the V2 model.
     *

     *
     * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions.V2Model}
     */
    public static final class Builder
        extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
        implements
        // @@protoc_insertion_point(builder_implements:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V2Model_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V2Model_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.class,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder.class);
      }

      // Construct using
      // com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.newBuilder()
      private Builder() {}

      private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
      }

      @java.lang.Override
      public Builder clear() {
        super.clear();
        contentCategoriesVersion_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
        return com.google.cloud.language.v1beta2.LanguageServiceProto
            .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_V2Model_descriptor;
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
          getDefaultInstanceForType() {
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
            .getDefaultInstance();
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model build() {
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model result =
            buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model buildPartial() {
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model result =
            new com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model(this);
        result.contentCategoriesVersion_ = contentCategoriesVersion_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }

      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.setField(field, value);
      }

      @java.lang.Override
      public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }

      @java.lang.Override
      public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }

      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index,
          java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }

      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) {
          return mergeFrom(
              (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(
          com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model other) {
        if (other
            == com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                .getDefaultInstance()) return this;
        if (other.contentCategoriesVersion_ != 0) {
          setContentCategoriesVersionValue(other.getContentCategoriesVersionValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8:
                {
                  contentCategoriesVersion_ = input.readEnum();

                  break;
                } // case 8
              default:
                {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private int contentCategoriesVersion_ = 0;
      /**
       *
       *
       *

       * The content categories used for classification.
       *

       *
       *
       * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
       *
       *
       * @return The enum numeric value on the wire for contentCategoriesVersion.
       */
      @java.lang.Override
      public int getContentCategoriesVersionValue() {
        return contentCategoriesVersion_;
      }
      /**
       *
       *
       *

       * The content categories used for classification.
       *

       *
       *
       * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
       *
       *
       * @param value The enum numeric value on the wire for contentCategoriesVersion to set.
       * @return This builder for chaining.
       */
      public Builder setContentCategoriesVersionValue(int value) {

        contentCategoriesVersion_ = value;
        onChanged();
        return this;
      }
      /**
       *
       *
       *

       * The content categories used for classification.
       *

       *
       *
       * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
       *
       *
       * @return The contentCategoriesVersion.
       */
      @java.lang.Override
      public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
              .ContentCategoriesVersion
          getContentCategoriesVersion() {
        @SuppressWarnings("deprecation")
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                .ContentCategoriesVersion
            result =
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                    .ContentCategoriesVersion.valueOf(contentCategoriesVersion_);
        return result == null
            ? com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                .ContentCategoriesVersion.UNRECOGNIZED
            : result;
      }
      /**
       *
       *
       *

       * The content categories used for classification.
       *

       *
       *
       * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
       *
       *
       * @param value The contentCategoriesVersion to set.
       * @return This builder for chaining.
       */
      public Builder setContentCategoriesVersion(
          com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                  .ContentCategoriesVersion
              value) {
        if (value == null) {
          throw new NullPointerException();
        }

        contentCategoriesVersion_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       *
       *
       *

       * The content categories used for classification.
       *

       *
       *
       * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.ContentCategoriesVersion content_categories_version = 1;
       *
       *
       * @return This builder for chaining.
       */
      public Builder clearContentCategoriesVersion() {

        contentCategoriesVersion_ = 0;
        onChanged();
        return this;
      }

      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }

      // @@protoc_insertion_point(builder_scope:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
    }

    // @@protoc_insertion_point(class_scope:google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
    private static final com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        DEFAULT_INSTANCE;

    static {
      DEFAULT_INSTANCE = new com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model();
    }

    public static com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<V2Model> PARSER =
        new com.google.protobuf.AbstractParser<V2Model>() {
          @java.lang.Override
          public V2Model parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            Builder builder = newBuilder();
            try {
              builder.mergeFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(builder.buildPartial());
            } catch (com.google.protobuf.UninitializedMessageException e) {
              throw e.asInvalidProtocolBufferException()
                  .setUnfinishedMessage(builder.buildPartial());
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(e)
                  .setUnfinishedMessage(builder.buildPartial());
            }
            return builder.buildPartial();
          }
        };

    public static com.google.protobuf.Parser<V2Model> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<V2Model> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }
  }

  private int modelTypeCase_ = 0;
  private java.lang.Object modelType_;

  public enum ModelTypeCase
      implements
          com.google.protobuf.Internal.EnumLite,
          com.google.protobuf.AbstractMessage.InternalOneOfEnum {
    V1_MODEL(1),
    V2_MODEL(2),
    MODELTYPE_NOT_SET(0);
    private final int value;

    private ModelTypeCase(int value) {
      this.value = value;
    }
    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static ModelTypeCase valueOf(int value) {
      return forNumber(value);
    }

    public static ModelTypeCase forNumber(int value) {
      switch (value) {
        case 1:
          return V1_MODEL;
        case 2:
          return V2_MODEL;
        case 0:
          return MODELTYPE_NOT_SET;
        default:
          return null;
      }
    }

    public int getNumber() {
      return this.value;
    }
  };

  public ModelTypeCase getModelTypeCase() {
    return ModelTypeCase.forNumber(modelTypeCase_);
  }

  public static final int V1_MODEL_FIELD_NUMBER = 1;
  /**
   *
   *
   *

   * Setting this field will use the V1 model and V1 content categories
   * version. The V1 model is a legacy model; support for this will be
   * discontinued in the future.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
   *
   * @return Whether the v1Model field is set.
   */
  @java.lang.Override
  public boolean hasV1Model() {
    return modelTypeCase_ == 1;
  }
  /**
   *
   *
   *

   * Setting this field will use the V1 model and V1 content categories
   * version. The V1 model is a legacy model; support for this will be
   * discontinued in the future.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
   *
   * @return The v1Model.
   */
  @java.lang.Override
  public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model getV1Model() {
    if (modelTypeCase_ == 1) {
      return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_;
    }
    return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        .getDefaultInstance();
  }
  /**
   *
   *
   *

   * Setting this field will use the V1 model and V1 content categories
   * version. The V1 model is a legacy model; support for this will be
   * discontinued in the future.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
   */
  @java.lang.Override
  public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder
      getV1ModelOrBuilder() {
    if (modelTypeCase_ == 1) {
      return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_;
    }
    return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
        .getDefaultInstance();
  }

  public static final int V2_MODEL_FIELD_NUMBER = 2;
  /**
   *
   *
   *

   * Setting this field will use the V2 model with the appropriate content
   * categories version. The V2 model is a better performing model.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
   *
   * @return Whether the v2Model field is set.
   */
  @java.lang.Override
  public boolean hasV2Model() {
    return modelTypeCase_ == 2;
  }
  /**
   *
   *
   *

   * Setting this field will use the V2 model with the appropriate content
   * categories version. The V2 model is a better performing model.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
   *
   * @return The v2Model.
   */
  @java.lang.Override
  public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model getV2Model() {
    if (modelTypeCase_ == 2) {
      return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_;
    }
    return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        .getDefaultInstance();
  }
  /**
   *
   *
   *

   * Setting this field will use the V2 model with the appropriate content
   * categories version. The V2 model is a better performing model.
   *

   *
   * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
   */
  @java.lang.Override
  public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder
      getV2ModelOrBuilder() {
    if (modelTypeCase_ == 2) {
      return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_;
    }
    return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
        .getDefaultInstance();
  }

  private byte memoizedIsInitialized = -1;

  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (modelTypeCase_ == 1) {
      output.writeMessage(
          1, (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_);
    }
    if (modelTypeCase_ == 2) {
      output.writeMessage(
          2, (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (modelTypeCase_ == 1) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              1, (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_);
    }
    if (modelTypeCase_ == 2) {
      size +=
          com.google.protobuf.CodedOutputStream.computeMessageSize(
              2, (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions)) {
      return super.equals(obj);
    }
    com.google.cloud.language.v1beta2.ClassificationModelOptions other =
        (com.google.cloud.language.v1beta2.ClassificationModelOptions) obj;

    if (!getModelTypeCase().equals(other.getModelTypeCase())) return false;
    switch (modelTypeCase_) {
      case 1:
        if (!getV1Model().equals(other.getV1Model())) return false;
        break;
      case 2:
        if (!getV2Model().equals(other.getV2Model())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    switch (modelTypeCase_) {
      case 1:
        hash = (37 * hash) + V1_MODEL_FIELD_NUMBER;
        hash = (53 * hash) + getV1Model().hashCode();
        break;
      case 2:
        hash = (37 * hash) + V2_MODEL_FIELD_NUMBER;
        hash = (53 * hash) + getV2Model().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(
      com.google.cloud.language.v1beta2.ClassificationModelOptions prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   *

   * Model options available for classification requests.
   *

   *
   * Protobuf type {@code google.cloud.language.v1beta2.ClassificationModelOptions}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.language.v1beta2.ClassificationModelOptions)
      com.google.cloud.language.v1beta2.ClassificationModelOptionsOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.language.v1beta2.ClassificationModelOptions.class,
              com.google.cloud.language.v1beta2.ClassificationModelOptions.Builder.class);
    }

    // Construct using com.google.cloud.language.v1beta2.ClassificationModelOptions.newBuilder()
    private Builder() {}

    private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
    }

    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (v1ModelBuilder_ != null) {
        v1ModelBuilder_.clear();
      }
      if (v2ModelBuilder_ != null) {
        v2ModelBuilder_.clear();
      }
      modelTypeCase_ = 0;
      modelType_ = null;
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.language.v1beta2.LanguageServiceProto
          .internal_static_google_cloud_language_v1beta2_ClassificationModelOptions_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions
        getDefaultInstanceForType() {
      return com.google.cloud.language.v1beta2.ClassificationModelOptions.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions build() {
      com.google.cloud.language.v1beta2.ClassificationModelOptions result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions buildPartial() {
      com.google.cloud.language.v1beta2.ClassificationModelOptions result =
          new com.google.cloud.language.v1beta2.ClassificationModelOptions(this);
      if (modelTypeCase_ == 1) {
        if (v1ModelBuilder_ == null) {
          result.modelType_ = modelType_;
        } else {
          result.modelType_ = v1ModelBuilder_.build();
        }
      }
      if (modelTypeCase_ == 2) {
        if (v2ModelBuilder_ == null) {
          result.modelType_ = modelType_;
        } else {
          result.modelType_ = v2ModelBuilder_.build();
        }
      }
      result.modelTypeCase_ = modelTypeCase_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.cloud.language.v1beta2.ClassificationModelOptions) {
        return mergeFrom((com.google.cloud.language.v1beta2.ClassificationModelOptions) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.language.v1beta2.ClassificationModelOptions other) {
      if (other
          == com.google.cloud.language.v1beta2.ClassificationModelOptions.getDefaultInstance())
        return this;
      switch (other.getModelTypeCase()) {
        case V1_MODEL:
          {
            mergeV1Model(other.getV1Model());
            break;
          }
        case V2_MODEL:
          {
            mergeV2Model(other.getV2Model());
            break;
          }
        case MODELTYPE_NOT_SET:
          {
            break;
          }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                input.readMessage(getV1ModelFieldBuilder().getBuilder(), extensionRegistry);
                modelTypeCase_ = 1;
                break;
              } // case 10
            case 18:
              {
                input.readMessage(getV2ModelFieldBuilder().getBuilder(), extensionRegistry);
                modelTypeCase_ = 2;
                break;
              } // case 18
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }

    private int modelTypeCase_ = 0;
    private java.lang.Object modelType_;

    public ModelTypeCase getModelTypeCase() {
      return ModelTypeCase.forNumber(modelTypeCase_);
    }

    public Builder clearModelType() {
      modelTypeCase_ = 0;
      modelType_ = null;
      onChanged();
      return this;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder>
        v1ModelBuilder_;
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     *
     * @return Whether the v1Model field is set.
     */
    @java.lang.Override
    public boolean hasV1Model() {
      return modelTypeCase_ == 1;
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     *
     * @return The v1Model.
     */
    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model getV1Model() {
      if (v1ModelBuilder_ == null) {
        if (modelTypeCase_ == 1) {
          return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_;
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
            .getDefaultInstance();
      } else {
        if (modelTypeCase_ == 1) {
          return v1ModelBuilder_.getMessage();
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
            .getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    public Builder setV1Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model value) {
      if (v1ModelBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        modelType_ = value;
        onChanged();
      } else {
        v1ModelBuilder_.setMessage(value);
      }
      modelTypeCase_ = 1;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    public Builder setV1Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder
            builderForValue) {
      if (v1ModelBuilder_ == null) {
        modelType_ = builderForValue.build();
        onChanged();
      } else {
        v1ModelBuilder_.setMessage(builderForValue.build());
      }
      modelTypeCase_ = 1;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    public Builder mergeV1Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model value) {
      if (v1ModelBuilder_ == null) {
        if (modelTypeCase_ == 1
            && modelType_
                != com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
                    .getDefaultInstance()) {
          modelType_ =
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.newBuilder(
                      (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model)
                          modelType_)
                  .mergeFrom(value)
                  .buildPartial();
        } else {
          modelType_ = value;
        }
        onChanged();
      } else {
        if (modelTypeCase_ == 1) {
          v1ModelBuilder_.mergeFrom(value);
        } else {
          v1ModelBuilder_.setMessage(value);
        }
      }
      modelTypeCase_ = 1;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    public Builder clearV1Model() {
      if (v1ModelBuilder_ == null) {
        if (modelTypeCase_ == 1) {
          modelTypeCase_ = 0;
          modelType_ = null;
          onChanged();
        }
      } else {
        if (modelTypeCase_ == 1) {
          modelTypeCase_ = 0;
          modelType_ = null;
        }
        v1ModelBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder
        getV1ModelBuilder() {
      return getV1ModelFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder
        getV1ModelOrBuilder() {
      if ((modelTypeCase_ == 1) && (v1ModelBuilder_ != null)) {
        return v1ModelBuilder_.getMessageOrBuilder();
      } else {
        if (modelTypeCase_ == 1) {
          return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_;
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
            .getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * Setting this field will use the V1 model and V1 content categories
     * version. The V1 model is a legacy model; support for this will be
     * discontinued in the future.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V1Model v1_model = 1;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder>
        getV1ModelFieldBuilder() {
      if (v1ModelBuilder_ == null) {
        if (!(modelTypeCase_ == 1)) {
          modelType_ =
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model
                  .getDefaultInstance();
        }
        v1ModelBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model.Builder,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V1ModelOrBuilder>(
                (com.google.cloud.language.v1beta2.ClassificationModelOptions.V1Model) modelType_,
                getParentForChildren(),
                isClean());
        modelType_ = null;
      }
      modelTypeCase_ = 1;
      onChanged();
      ;
      return v1ModelBuilder_;
    }

    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder>
        v2ModelBuilder_;
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     *
     * @return Whether the v2Model field is set.
     */
    @java.lang.Override
    public boolean hasV2Model() {
      return modelTypeCase_ == 2;
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     *
     * @return The v2Model.
     */
    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model getV2Model() {
      if (v2ModelBuilder_ == null) {
        if (modelTypeCase_ == 2) {
          return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_;
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
            .getDefaultInstance();
      } else {
        if (modelTypeCase_ == 2) {
          return v2ModelBuilder_.getMessage();
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
            .getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    public Builder setV2Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model value) {
      if (v2ModelBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        modelType_ = value;
        onChanged();
      } else {
        v2ModelBuilder_.setMessage(value);
      }
      modelTypeCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    public Builder setV2Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder
            builderForValue) {
      if (v2ModelBuilder_ == null) {
        modelType_ = builderForValue.build();
        onChanged();
      } else {
        v2ModelBuilder_.setMessage(builderForValue.build());
      }
      modelTypeCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    public Builder mergeV2Model(
        com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model value) {
      if (v2ModelBuilder_ == null) {
        if (modelTypeCase_ == 2
            && modelType_
                != com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                    .getDefaultInstance()) {
          modelType_ =
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.newBuilder(
                      (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model)
                          modelType_)
                  .mergeFrom(value)
                  .buildPartial();
        } else {
          modelType_ = value;
        }
        onChanged();
      } else {
        if (modelTypeCase_ == 2) {
          v2ModelBuilder_.mergeFrom(value);
        } else {
          v2ModelBuilder_.setMessage(value);
        }
      }
      modelTypeCase_ = 2;
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    public Builder clearV2Model() {
      if (v2ModelBuilder_ == null) {
        if (modelTypeCase_ == 2) {
          modelTypeCase_ = 0;
          modelType_ = null;
          onChanged();
        }
      } else {
        if (modelTypeCase_ == 2) {
          modelTypeCase_ = 0;
          modelType_ = null;
        }
        v2ModelBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder
        getV2ModelBuilder() {
      return getV2ModelFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    @java.lang.Override
    public com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder
        getV2ModelOrBuilder() {
      if ((modelTypeCase_ == 2) && (v2ModelBuilder_ != null)) {
        return v2ModelBuilder_.getMessageOrBuilder();
      } else {
        if (modelTypeCase_ == 2) {
          return (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_;
        }
        return com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
            .getDefaultInstance();
      }
    }
    /**
     *
     *
     *

     * Setting this field will use the V2 model with the appropriate content
     * categories version. The V2 model is a better performing model.
     *

     *
     * .google.cloud.language.v1beta2.ClassificationModelOptions.V2Model v2_model = 2;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder,
            com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder>
        getV2ModelFieldBuilder() {
      if (v2ModelBuilder_ == null) {
        if (!(modelTypeCase_ == 2)) {
          modelType_ =
              com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model
                  .getDefaultInstance();
        }
        v2ModelBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model.Builder,
                com.google.cloud.language.v1beta2.ClassificationModelOptions.V2ModelOrBuilder>(
                (com.google.cloud.language.v1beta2.ClassificationModelOptions.V2Model) modelType_,
                getParentForChildren(),
                isClean());
        modelType_ = null;
      }
      modelTypeCase_ = 2;
      onChanged();
      ;
      return v2ModelBuilder_;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }

    // @@protoc_insertion_point(builder_scope:google.cloud.language.v1beta2.ClassificationModelOptions)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.language.v1beta2.ClassificationModelOptions)
  private static final com.google.cloud.language.v1beta2.ClassificationModelOptions
      DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.language.v1beta2.ClassificationModelOptions();
  }

  public static com.google.cloud.language.v1beta2.ClassificationModelOptions getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<ClassificationModelOptions> PARSER =
      new com.google.protobuf.AbstractParser<ClassificationModelOptions>() {
        @java.lang.Override
        public ClassificationModelOptions parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

  public static com.google.protobuf.Parser<ClassificationModelOptions> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<ClassificationModelOptions> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.cloud.language.v1beta2.ClassificationModelOptions getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}


text:
/**
 * AWS Module: Action: Modularized Code
 */

'use strict';

var AWS = require('aws-sdk');

var ValidationManager = require('./../../model/validationmanager').ValidationManager;

var requestSchema = require('./../../model/things/command');

var invokeAction =
  function(event, context) {
    var methodName = 'things#invokeAction()';

    if (context.hasOwnProperty('config')) {
      var config = context.config;
      if (config.hasOwnProperty('aws')) {
        var awsConfig = config.aws;

        context.logger.info({ awsConfig: awsConfig }, methodName);

        AWS.config.update(awsConfig);
      }
    }

    var action;
    switch(event.action) {
      case 'retrieve': {
        action = require('./retrieve');
        break;
      }
      case 'update': {
        action = require('./update');
        break;
      }
      default:
        throw new TypeError('Unable to handle action type of ' + event.action);
    }

    return action(event.message, context, new AWS.Iot());
  };

var manageThings = function(event, context, callback) {
  var methodName = 'things#manageThings()';

  new ValidationManager(context).validate(event, requestSchema)
    .then(function() {
        return invokeAction(event, context);
      })
    .then(function(result) {
        context.logger.info({ result: result }, methodName);

        return callback(null, result);
      })
    .catch(function(err) {
        return callback(err, null);
      });
};

// Export For Lambda Handler
module.exports = manageThings;

redpajama_set_name: RedPajamaGithub


text:
(function() {
  window.addEventListener('load', function() {
    var MARGIN, form, input, mtxt, recalc_width;
    form = document.getElementById('nickname-form');
    form.addEventListener('submit', function(evt) {
      if (input.value.trim() === "") {
        evt.preventDefault();
        return evt.stopPropagation();
      }
    }, false);
    input = form.querySelector('input[type=text]');
    input.addEventListener('blur', function() {
      if (input.value.trim() !== "") {
        return form.submit();
      }
    }, false);
    mtxt = document.createElement('span');
    mtxt.style.position = 'absolute';
    mtxt.style.opacity = 0;
    mtxt.style.left = "-6666px";
    mtxt.style.top = "-6666px";
    mtxt.style.font = window.getComputedStyle(input).font;
    document.body.insertBefore(mtxt, document.body.children[0]);
    MARGIN = 10;
    recalc_width = function() {
      mtxt.textContent = input.value;
      return input.style.width = "" + (mtxt.offsetWidth + MARGIN) + "px";
    };
    recalc_width();
    return input.addEventListener('keypress', function() {
      return setTimeout(recalc_width, 0);
    }, false);
  }, false);

}).call(this);


text:
@class UBAlertView;

@interface UBAlertView : UIAlertView<UIAlertViewDelegate>
{
  void(^cancel_)(UBAlertView* alertView);
  NSMutableArray* buttonBlocks_;
}

-(id)initWithTitle:(NSString*)title message:(NSString*)msg;

-(void)alertViewCancel:(UIAlertView *)alertView;

-(void)addButtonWithTitle:(NSString*)title block:(void(^)(UBAlertView*, NSInteger))block;

-(void)setAlertViewCancelBlock:(void(^)(UBAlertView*))block;

@end


text:
@import "colors.css";
@import "code.css";
@import "week.css";
@import "card.css";
@import "../vendor/prism.css";
@import "slide-deck.css";
@import "lesson.css";
@import "folders.css";
@import "cheatsheet-checklist-flowchart.css";
@import "assignment-viewer.css";


text:
<!DOCTYPE html>

	<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/english/styles.css" type="text/css">

	<title>EST Doc Dental's English page - (Chiyoda-ku,Tokyo)</title>

					English-speaking Clinic in Chiyoda-ku,Tokyo
					Koyama Dental Clinic

					Address
					4-5-3-3 Kandasurugadai, Chiyoda-ku Tokyo

101-0062 Japan

					03-3219-4618

					koyama.shikaclinic@gmail.com

			Message

					Dr.Koyama

					We would like to support people in this area as a partner of health creation. Please feel free to contact us for any questions about dentistry. We do our best for long lasting treatment. There are some cares only I can do since I didn't like any dentist.

			Business Hours for English-speaking

    Mon
    Tue
    Wed
    Thu
    Fri
    Sat
    Sun
    Holiday

    11:00〜13:00
    ×
    ●
    ●
    ●
    ●
    ●
    ×
    ×

    14:30〜16:00
    ×
    ●
    ●
    ●
    ●
    ●
    ×
    ×

			English Level

Fluent in English

Fluent in conversational English

Japanese interpreter is required

			Services

General Dentistry

Implants

			Insurance

We accept Japanese National Health Insurance and Social Insurance

We accept Travel Accident insurance

				Access:
				The Clinic is only 1 minute walk from Ochanomizu Station on the Chuo Main Line.

            Payment Method

JPY Cash

Credit Card

AMERICAN EXPRESS

Master Card

VISA

Diners Club

Union Pay

JCB

Traveler's Check

			This page is operated by EST Doc Corp. Chiyoda-ku,Tokyo Koyama Dental Clinic

			このページは、株式会社EST Docが運営しています


text:
const Selector = require('./selector')
const Element = require('./element')
const Ruleset = require('./ruleset')
const Rule = require('./rule')
const Expression = require('./expression')
const contexts = require('../contexts')

class Definition extends Ruleset {
  constructor(
    name,
    params,
    rules,
    condition,
    variadic,
    frames,
    visibilityInfo
  ) {
    super()
    this.name = name
    this.selectors = [
      new Selector([new Element(null, name, this.index, this.currentFileInfo)]),
    ]
    this.params = params
    this.condition = condition
    this.variadic = variadic
    this.arity = params.length
    this.rules = rules
    this._lookups = {}
    const optionalParameters = []
    this.required = params.reduce((count, p) => {
      if (!p.name || (p.name && !p.value)) {
        return count + 1
      } else {
        optionalParameters.push(p.name)
        return count
      }
    }, 0)
    this.optionalParameters = optionalParameters
    this.frames = frames
    this.copyVisibilityInfo(visibilityInfo)
    this.allowRoot = true
  }

  accept(visitor) {
    if (this.params && this.params.length) {
      this.params = visitor.visitArray(this.params)
    }
    this.rules = visitor.visitArray(this.rules)
    if (this.condition) {
      this.condition = visitor.visit(this.condition)
    }
  }

  evalParams(context, mixinEnv, args, evaldArguments) {
    /*jshint boss:true */
    const frame = new Ruleset(null, null)

    let varargs
    let arg
    const params = this.params.slice(0)
    let i
    let j
    let val
    let name
    let isNamedFound
    let argIndex
    let argsLength = 0

    if (
      mixinEnv.frames &&
      mixinEnv.frames[0] &&
      mixinEnv.frames[0].functionRegistry
    ) {
      frame.functionRegistry = mixinEnv.frames[0].functionRegistry.inherit()
    }
    mixinEnv = new contexts.Eval(mixinEnv, [frame].concat(mixinEnv.frames))

    if (args) {
      args = args.slice(0)
      argsLength = args.length

      for (i = 0; i < argsLength; i++) {
        arg = args[i]
        if ((name = arg && arg.name)) {
          isNamedFound = false
          for (j = 0; j < params.length; j++) {
            if (!evaldArguments[j] && name === params[j].name) {
              evaldArguments[j] = arg.value.eval(context)
              frame.prependRule(new Rule(name, arg.value.eval(context)))
              isNamedFound = true
              break
            }
          }
          if (isNamedFound) {
            args.splice(i, 1)
            i--
            continue
          } else {
            throw {
              type: 'Runtime',
              message: `Named argument for ${this.name} ${args[i]
                .name} not found`,
            }
          }
        }
      }
    }
    argIndex = 0
    for (i = 0; i < params.length; i++) {
      if (evaldArguments[i]) {
        continue
      }

      arg = args && args[argIndex]

      if ((name = params[i].name)) {
        if (params[i].variadic) {
          varargs = []
          for (j = argIndex; j < argsLength; j++) {
            varargs.push(args[j].value.eval(context))
          }
          frame.prependRule(
            new Rule(name, new Expression(varargs).eval(context))
          )
        } else {
          val = arg && arg.value
          if (val) {
            val = val.eval(context)
          } else if (params[i].value) {
            val = params[i].value.eval(mixinEnv)
            frame.resetCache()
          } else {
            throw {
              type: 'Runtime',
              message: `wrong number of arguments for ${this
                .name} (${argsLength} for ${this.arity})`,
            }
          }

          frame.prependRule(new Rule(name, val))
          evaldArguments[i] = val
        }
      }

      if (params[i].variadic && args) {
        for (j = argIndex; j < argsLength; j++) {
          evaldArguments[j] = args[j].value.eval(context)
        }
      }
      argIndex++
    }

    return frame
  }

  makeImportant() {
    const rules = !this.rules
      ? this.rules
      : this.rules.map(r => {
          if (r.makeImportant) {
            return r.makeImportant(true)
          } else {
            return r
          }
        })
    const result = new Definition(
      this.name,
      this.params,
      rules,
      this.condition,
      this.variadic,
      this.frames
    )
    return result
  }

  eval(context) {
    return new Definition(
      this.name,
      this.params,
      this.rules,
      this.condition,
      this.variadic,
      this.frames || context.frames.slice(0)
    )
  }

  evalCall(context, args, important) {
    const _arguments = []
    const mixinFrames = this.frames
      ? this.frames.concat(context.frames)
      : context.frames
    const frame = this.evalParams(
      context,
      new contexts.Eval(context, mixinFrames),
      args,
      _arguments
    )
    let rules
    let ruleset

    frame.prependRule(
      new Rule('@arguments', new Expression(_arguments).eval(context))
    )

    rules = this.rules.slice(0)

    ruleset = new Ruleset(null, rules)
    ruleset.originalRuleset = this
    ruleset = ruleset.eval(
      new contexts.Eval(context, [this, frame].concat(mixinFrames))
    )
    if (important) {
      ruleset = ruleset.makeImportant()
    }
    return ruleset
  }

  matchCondition(args, context) {
    if (
      this.condition &&
      !this.condition.eval(
        new contexts.Eval(
          context,
          [
            this.evalParams(
              context /* the parameter variables*/,
              new contexts.Eval(
                context,
                this.frames
                  ? this.frames.concat(context.frames)
                  : context.frames
              ),
              args,
              []
            ),
          ]
            .concat(this.frames || []) // the parent namespace/mixin frames
            .concat(context.frames)
        )
      )
    ) {
      // the current environment frames
      return false
    }
    return true
  }

  matchArgs(args, context) {
    const allArgsCnt = (args && args.length) || 0
    let len
    const optionalParameters = this.optionalParameters
    const requiredArgsCnt = !args
      ? 0
      : args.reduce((count, p) => {
          if (optionalParameters.indexOf(p.name) < 0) {
            return count + 1
          } else {
            return count
          }
        }, 0)

    if (!this.variadic) {
      if (requiredArgsCnt < this.required) {
        return false
      }
      if (allArgsCnt > this.params.length) {
        return false
      }
    } else {
      if (requiredArgsCnt < this.required - 1) {
        return false
      }
    }

    // check patterns
    len = Math.min(requiredArgsCnt, this.arity)

    for (let i = 0; i < len; i++) {
      if (!this.params[i].name && !this.params[i].variadic) {
        if (
          args[i].value.eval(context).toCSS() !=
          this.params[i].value.eval(context).toCSS()
        ) {
          return false
        }
      }
    }
    return true
  }
}

Definition.prototype.type = 'MixinDefinition'
Definition.prototype.evalFirst = true
module.exports = Definition