public final class

ViewMatchers

extends java.lang.Object

 java.lang.Object

↳androidx.test.espresso.proto.matcher.ViewMatchers

Summary

Methods
public static voidregisterAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry)

Source

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: espresso/remote/java/androidx/test/espresso/proto/matcher/view_matchers.proto

package androidx.test.espresso.proto.matcher;

public final class ViewMatchers {
  private ViewMatchers() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  public interface WithIdMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithIdMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     * @return Whether the viewIdMatcher field is set.
     */
    boolean hasViewIdMatcher();
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     * @return The viewIdMatcher.
     */
    com.google.protobuf.Any getViewIdMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithIdMatcherProto}
   */
  public  static final class WithIdMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithIdMatcherProto, WithIdMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithIdMatcherProto)
      WithIdMatcherProtoOrBuilder {
    private WithIdMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int VIEWIDMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any viewIdMatcher_;
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasViewIdMatcher() {
      return viewIdMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getViewIdMatcher() {
      return viewIdMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : viewIdMatcher_;
    }
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     */
    private void setViewIdMatcher(com.google.protobuf.Any value) {
      value.getClass();
  viewIdMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeViewIdMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (viewIdMatcher_ != null &&
          viewIdMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        viewIdMatcher_ =
          com.google.protobuf.Any.newBuilder(viewIdMatcher_).mergeFrom(value).buildPartial();
      } else {
        viewIdMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
     */
    private void clearViewIdMatcher() {  viewIdMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithIdMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithIdMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasViewIdMatcher() {
        return instance.hasViewIdMatcher();
      }
      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getViewIdMatcher() {
        return instance.getViewIdMatcher();
      }
      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      public Builder setViewIdMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setViewIdMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      public Builder setViewIdMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setViewIdMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      public Builder mergeViewIdMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeViewIdMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any viewIdMatcher = 2;</code>
       */
      public Builder clearViewIdMatcher() {  copyOnWrite();
        instance.clearViewIdMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithIdMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "viewIdMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithIdMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto DEFAULT_INSTANCE;
    static {
      WithIdMatcherProto defaultInstance = new WithIdMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithIdMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithIdMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithResourceNameMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithResourceNameMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return Whether the stringMatcher field is set.
     */
    boolean hasStringMatcher();
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return The stringMatcher.
     */
    com.google.protobuf.Any getStringMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithResourceNameMatcherProto}
   */
  public  static final class WithResourceNameMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithResourceNameMatcherProto, WithResourceNameMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithResourceNameMatcherProto)
      WithResourceNameMatcherProtoOrBuilder {
    private WithResourceNameMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int STRINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any stringMatcher_;
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasStringMatcher() {
      return stringMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getStringMatcher() {
      return stringMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : stringMatcher_;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void setStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  stringMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (stringMatcher_ != null &&
          stringMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        stringMatcher_ =
          com.google.protobuf.Any.newBuilder(stringMatcher_).mergeFrom(value).buildPartial();
      } else {
        stringMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void clearStringMatcher() {  stringMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithResourceNameMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithResourceNameMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasStringMatcher() {
        return instance.hasStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getStringMatcher() {
        return instance.getStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setStringMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setStringMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder mergeStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeStringMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder clearStringMatcher() {  copyOnWrite();
        instance.clearStringMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithResourceNameMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "stringMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithResourceNameMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto DEFAULT_INSTANCE;
    static {
      WithResourceNameMatcherProto defaultInstance = new WithResourceNameMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithResourceNameMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithResourceNameMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithTagKeyMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithTagKeyMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes key = 2;</code>
     * @return The key.
     */
    com.google.protobuf.ByteString getKey();

    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     * @return Whether the objectMatcher field is set.
     */
    boolean hasObjectMatcher();
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     * @return The objectMatcher.
     */
    com.google.protobuf.Any getObjectMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithTagKeyMatcherProto}
   */
  public  static final class WithTagKeyMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithTagKeyMatcherProto, WithTagKeyMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithTagKeyMatcherProto)
      WithTagKeyMatcherProtoOrBuilder {
    private WithTagKeyMatcherProto() {
      id_ = "";
      key_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int KEY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString key_;
    /**
     * <code>bytes key = 2;</code>
     * @return The key.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getKey() {
      return key_;
    }
    /**
     * <code>bytes key = 2;</code>
     * @param value The key to set.
     */
    private void setKey(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      key_ = value;
    }
    /**
     * <code>bytes key = 2;</code>
     */
    private void clearKey() {
      
      key_ = getDefaultInstance().getKey();
    }

    public static final int OBJECTMATCHER_FIELD_NUMBER = 3;
    private com.google.protobuf.Any objectMatcher_;
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     */
    @java.lang.Override
    public boolean hasObjectMatcher() {
      return objectMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getObjectMatcher() {
      return objectMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : objectMatcher_;
    }
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     */
    private void setObjectMatcher(com.google.protobuf.Any value) {
      value.getClass();
  objectMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeObjectMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (objectMatcher_ != null &&
          objectMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        objectMatcher_ =
          com.google.protobuf.Any.newBuilder(objectMatcher_).mergeFrom(value).buildPartial();
      } else {
        objectMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any objectMatcher = 3;</code>
     */
    private void clearObjectMatcher() {  objectMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithTagKeyMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithTagKeyMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes key = 2;</code>
       * @return The key.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getKey() {
        return instance.getKey();
      }
      /**
       * <code>bytes key = 2;</code>
       * @param value The key to set.
       * @return This builder for chaining.
       */
      public Builder setKey(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setKey(value);
        return this;
      }
      /**
       * <code>bytes key = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearKey() {
        copyOnWrite();
        instance.clearKey();
        return this;
      }

      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      @java.lang.Override
      public boolean hasObjectMatcher() {
        return instance.hasObjectMatcher();
      }
      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getObjectMatcher() {
        return instance.getObjectMatcher();
      }
      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      public Builder setObjectMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setObjectMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      public Builder setObjectMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setObjectMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      public Builder mergeObjectMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeObjectMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any objectMatcher = 3;</code>
       */
      public Builder clearObjectMatcher() {  copyOnWrite();
        instance.clearObjectMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithTagKeyMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "key_",
              "objectMatcher_",
            };
            java.lang.String info =
                "\u0000\u0003\u0000\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "\u0003\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithTagKeyMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto DEFAULT_INSTANCE;
    static {
      WithTagKeyMatcherProto defaultInstance = new WithTagKeyMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithTagKeyMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagKeyMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithTextMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithTextMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return Whether the stringMatcher field is set.
     */
    boolean hasStringMatcher();
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return The stringMatcher.
     */
    com.google.protobuf.Any getStringMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithTextMatcherProto}
   */
  public  static final class WithTextMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithTextMatcherProto, WithTextMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithTextMatcherProto)
      WithTextMatcherProtoOrBuilder {
    private WithTextMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int STRINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any stringMatcher_;
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasStringMatcher() {
      return stringMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getStringMatcher() {
      return stringMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : stringMatcher_;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void setStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  stringMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (stringMatcher_ != null &&
          stringMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        stringMatcher_ =
          com.google.protobuf.Any.newBuilder(stringMatcher_).mergeFrom(value).buildPartial();
      } else {
        stringMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void clearStringMatcher() {  stringMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithTextMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithTextMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasStringMatcher() {
        return instance.hasStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getStringMatcher() {
        return instance.getStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setStringMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setStringMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder mergeStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeStringMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder clearStringMatcher() {  copyOnWrite();
        instance.clearStringMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithTextMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "stringMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithTextMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto DEFAULT_INSTANCE;
    static {
      WithTextMatcherProto defaultInstance = new WithTextMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithTextMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTextMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsAssignableFromMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsAssignableFromMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes clazz = 2;</code>
     * @return The clazz.
     */
    com.google.protobuf.ByteString getClazz();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsAssignableFromMatcherProto}
   */
  public  static final class IsAssignableFromMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsAssignableFromMatcherProto, IsAssignableFromMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsAssignableFromMatcherProto)
      IsAssignableFromMatcherProtoOrBuilder {
    private IsAssignableFromMatcherProto() {
      id_ = "";
      clazz_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CLAZZ_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString clazz_;
    /**
     * <code>bytes clazz = 2;</code>
     * @return The clazz.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getClazz() {
      return clazz_;
    }
    /**
     * <code>bytes clazz = 2;</code>
     * @param value The clazz to set.
     */
    private void setClazz(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      clazz_ = value;
    }
    /**
     * <code>bytes clazz = 2;</code>
     */
    private void clearClazz() {
      
      clazz_ = getDefaultInstance().getClazz();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsAssignableFromMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsAssignableFromMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes clazz = 2;</code>
       * @return The clazz.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getClazz() {
        return instance.getClazz();
      }
      /**
       * <code>bytes clazz = 2;</code>
       * @param value The clazz to set.
       * @return This builder for chaining.
       */
      public Builder setClazz(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setClazz(value);
        return this;
      }
      /**
       * <code>bytes clazz = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearClazz() {
        copyOnWrite();
        instance.clearClazz();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsAssignableFromMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "clazz_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsAssignableFromMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto DEFAULT_INSTANCE;
    static {
      IsAssignableFromMatcherProto defaultInstance = new IsAssignableFromMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsAssignableFromMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsAssignableFromMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface DisplayDataMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.DisplayDataMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     * @return Whether the adapterMatcher field is set.
     */
    boolean hasAdapterMatcher();
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     * @return The adapterMatcher.
     */
    com.google.protobuf.Any getAdapterMatcher();

    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     * @return Whether the dataMatcher field is set.
     */
    boolean hasDataMatcher();
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     * @return The dataMatcher.
     */
    com.google.protobuf.Any getDataMatcher();

    /**
     * <code>bytes adapterViewProtocolClass = 4;</code>
     * @return The adapterViewProtocolClass.
     */
    com.google.protobuf.ByteString getAdapterViewProtocolClass();

    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     * @return Whether the adapterDataLoaderAction field is set.
     */
    boolean hasAdapterDataLoaderAction();
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     * @return The adapterDataLoaderAction.
     */
    com.google.protobuf.Any getAdapterDataLoaderAction();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.DisplayDataMatcherProto}
   */
  public  static final class DisplayDataMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          DisplayDataMatcherProto, DisplayDataMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.DisplayDataMatcherProto)
      DisplayDataMatcherProtoOrBuilder {
    private DisplayDataMatcherProto() {
      id_ = "";
      adapterViewProtocolClass_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int ADAPTERMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any adapterMatcher_;
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasAdapterMatcher() {
      return adapterMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getAdapterMatcher() {
      return adapterMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : adapterMatcher_;
    }
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     */
    private void setAdapterMatcher(com.google.protobuf.Any value) {
      value.getClass();
  adapterMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeAdapterMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (adapterMatcher_ != null &&
          adapterMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        adapterMatcher_ =
          com.google.protobuf.Any.newBuilder(adapterMatcher_).mergeFrom(value).buildPartial();
      } else {
        adapterMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any adapterMatcher = 2;</code>
     */
    private void clearAdapterMatcher() {  adapterMatcher_ = null;
      
    }

    public static final int DATAMATCHER_FIELD_NUMBER = 3;
    private com.google.protobuf.Any dataMatcher_;
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     */
    @java.lang.Override
    public boolean hasDataMatcher() {
      return dataMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getDataMatcher() {
      return dataMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : dataMatcher_;
    }
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     */
    private void setDataMatcher(com.google.protobuf.Any value) {
      value.getClass();
  dataMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDataMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (dataMatcher_ != null &&
          dataMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        dataMatcher_ =
          com.google.protobuf.Any.newBuilder(dataMatcher_).mergeFrom(value).buildPartial();
      } else {
        dataMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any dataMatcher = 3;</code>
     */
    private void clearDataMatcher() {  dataMatcher_ = null;
      
    }

    public static final int ADAPTERVIEWPROTOCOLCLASS_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString adapterViewProtocolClass_;
    /**
     * <code>bytes adapterViewProtocolClass = 4;</code>
     * @return The adapterViewProtocolClass.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getAdapterViewProtocolClass() {
      return adapterViewProtocolClass_;
    }
    /**
     * <code>bytes adapterViewProtocolClass = 4;</code>
     * @param value The adapterViewProtocolClass to set.
     */
    private void setAdapterViewProtocolClass(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      adapterViewProtocolClass_ = value;
    }
    /**
     * <code>bytes adapterViewProtocolClass = 4;</code>
     */
    private void clearAdapterViewProtocolClass() {
      
      adapterViewProtocolClass_ = getDefaultInstance().getAdapterViewProtocolClass();
    }

    public static final int ADAPTERDATALOADERACTION_FIELD_NUMBER = 5;
    private com.google.protobuf.Any adapterDataLoaderAction_;
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     */
    @java.lang.Override
    public boolean hasAdapterDataLoaderAction() {
      return adapterDataLoaderAction_ != null;
    }
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getAdapterDataLoaderAction() {
      return adapterDataLoaderAction_ == null ? com.google.protobuf.Any.getDefaultInstance() : adapterDataLoaderAction_;
    }
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     */
    private void setAdapterDataLoaderAction(com.google.protobuf.Any value) {
      value.getClass();
  adapterDataLoaderAction_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeAdapterDataLoaderAction(com.google.protobuf.Any value) {
      value.getClass();
  if (adapterDataLoaderAction_ != null &&
          adapterDataLoaderAction_ != com.google.protobuf.Any.getDefaultInstance()) {
        adapterDataLoaderAction_ =
          com.google.protobuf.Any.newBuilder(adapterDataLoaderAction_).mergeFrom(value).buildPartial();
      } else {
        adapterDataLoaderAction_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
     */
    private void clearAdapterDataLoaderAction() {  adapterDataLoaderAction_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.DisplayDataMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.DisplayDataMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasAdapterMatcher() {
        return instance.hasAdapterMatcher();
      }
      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getAdapterMatcher() {
        return instance.getAdapterMatcher();
      }
      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      public Builder setAdapterMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setAdapterMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      public Builder setAdapterMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setAdapterMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      public Builder mergeAdapterMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeAdapterMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any adapterMatcher = 2;</code>
       */
      public Builder clearAdapterMatcher() {  copyOnWrite();
        instance.clearAdapterMatcher();
        return this;
      }

      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      @java.lang.Override
      public boolean hasDataMatcher() {
        return instance.hasDataMatcher();
      }
      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getDataMatcher() {
        return instance.getDataMatcher();
      }
      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      public Builder setDataMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setDataMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      public Builder setDataMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setDataMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      public Builder mergeDataMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeDataMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any dataMatcher = 3;</code>
       */
      public Builder clearDataMatcher() {  copyOnWrite();
        instance.clearDataMatcher();
        return this;
      }

      /**
       * <code>bytes adapterViewProtocolClass = 4;</code>
       * @return The adapterViewProtocolClass.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getAdapterViewProtocolClass() {
        return instance.getAdapterViewProtocolClass();
      }
      /**
       * <code>bytes adapterViewProtocolClass = 4;</code>
       * @param value The adapterViewProtocolClass to set.
       * @return This builder for chaining.
       */
      public Builder setAdapterViewProtocolClass(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAdapterViewProtocolClass(value);
        return this;
      }
      /**
       * <code>bytes adapterViewProtocolClass = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearAdapterViewProtocolClass() {
        copyOnWrite();
        instance.clearAdapterViewProtocolClass();
        return this;
      }

      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      @java.lang.Override
      public boolean hasAdapterDataLoaderAction() {
        return instance.hasAdapterDataLoaderAction();
      }
      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getAdapterDataLoaderAction() {
        return instance.getAdapterDataLoaderAction();
      }
      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      public Builder setAdapterDataLoaderAction(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setAdapterDataLoaderAction(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      public Builder setAdapterDataLoaderAction(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setAdapterDataLoaderAction(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      public Builder mergeAdapterDataLoaderAction(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeAdapterDataLoaderAction(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any adapterDataLoaderAction = 5;</code>
       */
      public Builder clearAdapterDataLoaderAction() {  copyOnWrite();
        instance.clearAdapterDataLoaderAction();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.DisplayDataMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "adapterMatcher_",
              "dataMatcher_",
              "adapterViewProtocolClass_",
              "adapterDataLoaderAction_",
            };
            java.lang.String info =
                "\u0000\u0005\u0000\u0000\u0001\u0005\u0005\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "\u0003\t\u0004\n\u0005\t";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.DisplayDataMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto DEFAULT_INSTANCE;
    static {
      DisplayDataMatcherProto defaultInstance = new DisplayDataMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        DisplayDataMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.DisplayDataMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithClassNameMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithClassNameMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     * @return Whether the classNameMatcher field is set.
     */
    boolean hasClassNameMatcher();
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     * @return The classNameMatcher.
     */
    com.google.protobuf.Any getClassNameMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithClassNameMatcherProto}
   */
  public  static final class WithClassNameMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithClassNameMatcherProto, WithClassNameMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithClassNameMatcherProto)
      WithClassNameMatcherProtoOrBuilder {
    private WithClassNameMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CLASSNAMEMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any classNameMatcher_;
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasClassNameMatcher() {
      return classNameMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getClassNameMatcher() {
      return classNameMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : classNameMatcher_;
    }
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     */
    private void setClassNameMatcher(com.google.protobuf.Any value) {
      value.getClass();
  classNameMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeClassNameMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (classNameMatcher_ != null &&
          classNameMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        classNameMatcher_ =
          com.google.protobuf.Any.newBuilder(classNameMatcher_).mergeFrom(value).buildPartial();
      } else {
        classNameMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any classNameMatcher = 2;</code>
     */
    private void clearClassNameMatcher() {  classNameMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithClassNameMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithClassNameMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasClassNameMatcher() {
        return instance.hasClassNameMatcher();
      }
      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getClassNameMatcher() {
        return instance.getClassNameMatcher();
      }
      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      public Builder setClassNameMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setClassNameMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      public Builder setClassNameMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setClassNameMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      public Builder mergeClassNameMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeClassNameMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any classNameMatcher = 2;</code>
       */
      public Builder clearClassNameMatcher() {  copyOnWrite();
        instance.clearClassNameMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithClassNameMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "classNameMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithClassNameMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto DEFAULT_INSTANCE;
    static {
      WithClassNameMatcherProto defaultInstance = new WithClassNameMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithClassNameMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithClassNameMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsDisplayedMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsDisplayedMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsDisplayedMatcherProto}
   */
  public  static final class IsDisplayedMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsDisplayedMatcherProto, IsDisplayedMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsDisplayedMatcherProto)
      IsDisplayedMatcherProtoOrBuilder {
    private IsDisplayedMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsDisplayedMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsDisplayedMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsDisplayedMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto DEFAULT_INSTANCE;
    static {
      IsDisplayedMatcherProto defaultInstance = new IsDisplayedMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsDisplayedMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayedMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsDisplayingAtLeastMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes areaPercentage = 2;</code>
     * @return The areaPercentage.
     */
    com.google.protobuf.ByteString getAreaPercentage();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto}
   */
  public  static final class IsDisplayingAtLeastMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsDisplayingAtLeastMatcherProto, IsDisplayingAtLeastMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto)
      IsDisplayingAtLeastMatcherProtoOrBuilder {
    private IsDisplayingAtLeastMatcherProto() {
      id_ = "";
      areaPercentage_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int AREAPERCENTAGE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString areaPercentage_;
    /**
     * <code>bytes areaPercentage = 2;</code>
     * @return The areaPercentage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getAreaPercentage() {
      return areaPercentage_;
    }
    /**
     * <code>bytes areaPercentage = 2;</code>
     * @param value The areaPercentage to set.
     */
    private void setAreaPercentage(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      areaPercentage_ = value;
    }
    /**
     * <code>bytes areaPercentage = 2;</code>
     */
    private void clearAreaPercentage() {
      
      areaPercentage_ = getDefaultInstance().getAreaPercentage();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes areaPercentage = 2;</code>
       * @return The areaPercentage.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getAreaPercentage() {
        return instance.getAreaPercentage();
      }
      /**
       * <code>bytes areaPercentage = 2;</code>
       * @param value The areaPercentage to set.
       * @return This builder for chaining.
       */
      public Builder setAreaPercentage(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAreaPercentage(value);
        return this;
      }
      /**
       * <code>bytes areaPercentage = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAreaPercentage() {
        copyOnWrite();
        instance.clearAreaPercentage();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "areaPercentage_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsDisplayingAtLeastMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto DEFAULT_INSTANCE;
    static {
      IsDisplayingAtLeastMatcherProto defaultInstance = new IsDisplayingAtLeastMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsDisplayingAtLeastMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDisplayingAtLeastMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsEnabledMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsEnabledMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes is_enabled = 2;</code>
     * @return The isEnabled.
     */
    com.google.protobuf.ByteString getIsEnabled();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsEnabledMatcherProto}
   */
  public  static final class IsEnabledMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsEnabledMatcherProto, IsEnabledMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsEnabledMatcherProto)
      IsEnabledMatcherProtoOrBuilder {
    private IsEnabledMatcherProto() {
      id_ = "";
      isEnabled_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int IS_ENABLED_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString isEnabled_;
    /**
     * <code>bytes is_enabled = 2;</code>
     * @return The isEnabled.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getIsEnabled() {
      return isEnabled_;
    }
    /**
     * <code>bytes is_enabled = 2;</code>
     * @param value The isEnabled to set.
     */
    private void setIsEnabled(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      isEnabled_ = value;
    }
    /**
     * <code>bytes is_enabled = 2;</code>
     */
    private void clearIsEnabled() {
      
      isEnabled_ = getDefaultInstance().getIsEnabled();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsEnabledMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsEnabledMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes is_enabled = 2;</code>
       * @return The isEnabled.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getIsEnabled() {
        return instance.getIsEnabled();
      }
      /**
       * <code>bytes is_enabled = 2;</code>
       * @param value The isEnabled to set.
       * @return This builder for chaining.
       */
      public Builder setIsEnabled(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIsEnabled(value);
        return this;
      }
      /**
       * <code>bytes is_enabled = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsEnabled() {
        copyOnWrite();
        instance.clearIsEnabled();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsEnabledMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "isEnabled_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsEnabledMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto DEFAULT_INSTANCE;
    static {
      IsEnabledMatcherProto defaultInstance = new IsEnabledMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsEnabledMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsEnabledMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsFocusableMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsFocusableMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes is_focusable = 2;</code>
     * @return The isFocusable.
     */
    com.google.protobuf.ByteString getIsFocusable();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsFocusableMatcherProto}
   */
  public  static final class IsFocusableMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsFocusableMatcherProto, IsFocusableMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsFocusableMatcherProto)
      IsFocusableMatcherProtoOrBuilder {
    private IsFocusableMatcherProto() {
      id_ = "";
      isFocusable_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int IS_FOCUSABLE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString isFocusable_;
    /**
     * <code>bytes is_focusable = 2;</code>
     * @return The isFocusable.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getIsFocusable() {
      return isFocusable_;
    }
    /**
     * <code>bytes is_focusable = 2;</code>
     * @param value The isFocusable to set.
     */
    private void setIsFocusable(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      isFocusable_ = value;
    }
    /**
     * <code>bytes is_focusable = 2;</code>
     */
    private void clearIsFocusable() {
      
      isFocusable_ = getDefaultInstance().getIsFocusable();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsFocusableMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsFocusableMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes is_focusable = 2;</code>
       * @return The isFocusable.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getIsFocusable() {
        return instance.getIsFocusable();
      }
      /**
       * <code>bytes is_focusable = 2;</code>
       * @param value The isFocusable to set.
       * @return This builder for chaining.
       */
      public Builder setIsFocusable(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIsFocusable(value);
        return this;
      }
      /**
       * <code>bytes is_focusable = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsFocusable() {
        copyOnWrite();
        instance.clearIsFocusable();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsFocusableMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "isFocusable_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsFocusableMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto DEFAULT_INSTANCE;
    static {
      IsFocusableMatcherProto defaultInstance = new IsFocusableMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsFocusableMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsFocusableMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasFocusMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasFocusMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes has_focus = 2;</code>
     * @return The hasFocus.
     */
    com.google.protobuf.ByteString getHasFocus();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasFocusMatcherProto}
   */
  public  static final class HasFocusMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasFocusMatcherProto, HasFocusMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasFocusMatcherProto)
      HasFocusMatcherProtoOrBuilder {
    private HasFocusMatcherProto() {
      id_ = "";
      hasFocus_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int HAS_FOCUS_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString hasFocus_;
    /**
     * <code>bytes has_focus = 2;</code>
     * @return The hasFocus.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getHasFocus() {
      return hasFocus_;
    }
    /**
     * <code>bytes has_focus = 2;</code>
     * @param value The hasFocus to set.
     */
    private void setHasFocus(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      hasFocus_ = value;
    }
    /**
     * <code>bytes has_focus = 2;</code>
     */
    private void clearHasFocus() {
      
      hasFocus_ = getDefaultInstance().getHasFocus();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasFocusMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasFocusMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes has_focus = 2;</code>
       * @return The hasFocus.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getHasFocus() {
        return instance.getHasFocus();
      }
      /**
       * <code>bytes has_focus = 2;</code>
       * @param value The hasFocus to set.
       * @return This builder for chaining.
       */
      public Builder setHasFocus(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setHasFocus(value);
        return this;
      }
      /**
       * <code>bytes has_focus = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasFocus() {
        copyOnWrite();
        instance.clearHasFocus();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasFocusMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "hasFocus_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasFocusMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto DEFAULT_INSTANCE;
    static {
      HasFocusMatcherProto defaultInstance = new HasFocusMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasFocusMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasFocusMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsSelectedMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsSelectedMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes is_selected = 2;</code>
     * @return The isSelected.
     */
    com.google.protobuf.ByteString getIsSelected();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsSelectedMatcherProto}
   */
  public  static final class IsSelectedMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsSelectedMatcherProto, IsSelectedMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsSelectedMatcherProto)
      IsSelectedMatcherProtoOrBuilder {
    private IsSelectedMatcherProto() {
      id_ = "";
      isSelected_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int IS_SELECTED_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString isSelected_;
    /**
     * <code>bytes is_selected = 2;</code>
     * @return The isSelected.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getIsSelected() {
      return isSelected_;
    }
    /**
     * <code>bytes is_selected = 2;</code>
     * @param value The isSelected to set.
     */
    private void setIsSelected(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      isSelected_ = value;
    }
    /**
     * <code>bytes is_selected = 2;</code>
     */
    private void clearIsSelected() {
      
      isSelected_ = getDefaultInstance().getIsSelected();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsSelectedMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsSelectedMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes is_selected = 2;</code>
       * @return The isSelected.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getIsSelected() {
        return instance.getIsSelected();
      }
      /**
       * <code>bytes is_selected = 2;</code>
       * @param value The isSelected to set.
       * @return This builder for chaining.
       */
      public Builder setIsSelected(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIsSelected(value);
        return this;
      }
      /**
       * <code>bytes is_selected = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsSelected() {
        copyOnWrite();
        instance.clearIsSelected();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsSelectedMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "isSelected_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsSelectedMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto DEFAULT_INSTANCE;
    static {
      IsSelectedMatcherProto defaultInstance = new IsSelectedMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsSelectedMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsSelectedMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasSiblingMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasSiblingMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     * @return Whether the siblingMatcher field is set.
     */
    boolean hasSiblingMatcher();
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     * @return The siblingMatcher.
     */
    com.google.protobuf.Any getSiblingMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasSiblingMatcherProto}
   */
  public  static final class HasSiblingMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasSiblingMatcherProto, HasSiblingMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasSiblingMatcherProto)
      HasSiblingMatcherProtoOrBuilder {
    private HasSiblingMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int SIBLINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any siblingMatcher_;
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasSiblingMatcher() {
      return siblingMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getSiblingMatcher() {
      return siblingMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : siblingMatcher_;
    }
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     */
    private void setSiblingMatcher(com.google.protobuf.Any value) {
      value.getClass();
  siblingMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeSiblingMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (siblingMatcher_ != null &&
          siblingMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        siblingMatcher_ =
          com.google.protobuf.Any.newBuilder(siblingMatcher_).mergeFrom(value).buildPartial();
      } else {
        siblingMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any siblingMatcher = 2;</code>
     */
    private void clearSiblingMatcher() {  siblingMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasSiblingMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasSiblingMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasSiblingMatcher() {
        return instance.hasSiblingMatcher();
      }
      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getSiblingMatcher() {
        return instance.getSiblingMatcher();
      }
      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      public Builder setSiblingMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setSiblingMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      public Builder setSiblingMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setSiblingMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      public Builder mergeSiblingMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeSiblingMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any siblingMatcher = 2;</code>
       */
      public Builder clearSiblingMatcher() {  copyOnWrite();
        instance.clearSiblingMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasSiblingMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "siblingMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasSiblingMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto DEFAULT_INSTANCE;
    static {
      HasSiblingMatcherProto defaultInstance = new HasSiblingMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasSiblingMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasSiblingMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithContentDescriptionFromIdMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    com.google.protobuf.ByteString getResourceId();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto}
   */
  public  static final class WithContentDescriptionFromIdMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithContentDescriptionFromIdMatcherProto, WithContentDescriptionFromIdMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto)
      WithContentDescriptionFromIdMatcherProtoOrBuilder {
    private WithContentDescriptionFromIdMatcherProto() {
      id_ = "";
      resourceId_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int RESOURCEID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString resourceId_;
    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getResourceId() {
      return resourceId_;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     * @param value The resourceId to set.
     */
    private void setResourceId(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      resourceId_ = value;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     */
    private void clearResourceId() {
      
      resourceId_ = getDefaultInstance().getResourceId();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes resourceId = 2;</code>
       * @return The resourceId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getResourceId() {
        return instance.getResourceId();
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @param value The resourceId to set.
       * @return This builder for chaining.
       */
      public Builder setResourceId(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setResourceId(value);
        return this;
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearResourceId() {
        copyOnWrite();
        instance.clearResourceId();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "resourceId_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithContentDescriptionFromIdMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto DEFAULT_INSTANCE;
    static {
      WithContentDescriptionFromIdMatcherProto defaultInstance = new WithContentDescriptionFromIdMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithContentDescriptionFromIdMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionFromIdMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithContentDescriptionMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithContentDescriptionMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     * @return Whether the charSequenceMatcher field is set.
     */
    boolean hasCharSequenceMatcher();
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     * @return The charSequenceMatcher.
     */
    com.google.protobuf.Any getCharSequenceMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithContentDescriptionMatcherProto}
   */
  public  static final class WithContentDescriptionMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithContentDescriptionMatcherProto, WithContentDescriptionMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithContentDescriptionMatcherProto)
      WithContentDescriptionMatcherProtoOrBuilder {
    private WithContentDescriptionMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CHARSEQUENCEMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any charSequenceMatcher_;
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasCharSequenceMatcher() {
      return charSequenceMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getCharSequenceMatcher() {
      return charSequenceMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : charSequenceMatcher_;
    }
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     */
    private void setCharSequenceMatcher(com.google.protobuf.Any value) {
      value.getClass();
  charSequenceMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCharSequenceMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (charSequenceMatcher_ != null &&
          charSequenceMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        charSequenceMatcher_ =
          com.google.protobuf.Any.newBuilder(charSequenceMatcher_).mergeFrom(value).buildPartial();
      } else {
        charSequenceMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
     */
    private void clearCharSequenceMatcher() {  charSequenceMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithContentDescriptionMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithContentDescriptionMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasCharSequenceMatcher() {
        return instance.hasCharSequenceMatcher();
      }
      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getCharSequenceMatcher() {
        return instance.getCharSequenceMatcher();
      }
      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      public Builder setCharSequenceMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setCharSequenceMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      public Builder setCharSequenceMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setCharSequenceMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      public Builder mergeCharSequenceMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeCharSequenceMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any charSequenceMatcher = 2;</code>
       */
      public Builder clearCharSequenceMatcher() {  copyOnWrite();
        instance.clearCharSequenceMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithContentDescriptionMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "charSequenceMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithContentDescriptionMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto DEFAULT_INSTANCE;
    static {
      WithContentDescriptionMatcherProto defaultInstance = new WithContentDescriptionMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithContentDescriptionMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithContentDescriptionMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithTagValueMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithTagValueMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     * @return Whether the tagValueMatcher field is set.
     */
    boolean hasTagValueMatcher();
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     * @return The tagValueMatcher.
     */
    com.google.protobuf.Any getTagValueMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithTagValueMatcherProto}
   */
  public  static final class WithTagValueMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithTagValueMatcherProto, WithTagValueMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithTagValueMatcherProto)
      WithTagValueMatcherProtoOrBuilder {
    private WithTagValueMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int TAGVALUEMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any tagValueMatcher_;
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasTagValueMatcher() {
      return tagValueMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getTagValueMatcher() {
      return tagValueMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : tagValueMatcher_;
    }
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     */
    private void setTagValueMatcher(com.google.protobuf.Any value) {
      value.getClass();
  tagValueMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeTagValueMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (tagValueMatcher_ != null &&
          tagValueMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        tagValueMatcher_ =
          com.google.protobuf.Any.newBuilder(tagValueMatcher_).mergeFrom(value).buildPartial();
      } else {
        tagValueMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
     */
    private void clearTagValueMatcher() {  tagValueMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithTagValueMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithTagValueMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasTagValueMatcher() {
        return instance.hasTagValueMatcher();
      }
      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getTagValueMatcher() {
        return instance.getTagValueMatcher();
      }
      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      public Builder setTagValueMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setTagValueMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      public Builder setTagValueMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setTagValueMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      public Builder mergeTagValueMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeTagValueMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any tagValueMatcher = 2;</code>
       */
      public Builder clearTagValueMatcher() {  copyOnWrite();
        instance.clearTagValueMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithTagValueMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "tagValueMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithTagValueMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto DEFAULT_INSTANCE;
    static {
      WithTagValueMatcherProto defaultInstance = new WithTagValueMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithTagValueMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithTagValueMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithCharSequenceMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithCharSequenceMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    com.google.protobuf.ByteString getResourceId();

    /**
     * <code>bytes method = 3;</code>
     * @return The method.
     */
    com.google.protobuf.ByteString getMethod();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithCharSequenceMatcherProto}
   */
  public  static final class WithCharSequenceMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithCharSequenceMatcherProto, WithCharSequenceMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithCharSequenceMatcherProto)
      WithCharSequenceMatcherProtoOrBuilder {
    private WithCharSequenceMatcherProto() {
      id_ = "";
      resourceId_ = com.google.protobuf.ByteString.EMPTY;
      method_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int RESOURCEID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString resourceId_;
    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getResourceId() {
      return resourceId_;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     * @param value The resourceId to set.
     */
    private void setResourceId(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      resourceId_ = value;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     */
    private void clearResourceId() {
      
      resourceId_ = getDefaultInstance().getResourceId();
    }

    public static final int METHOD_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString method_;
    /**
     * <code>bytes method = 3;</code>
     * @return The method.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getMethod() {
      return method_;
    }
    /**
     * <code>bytes method = 3;</code>
     * @param value The method to set.
     */
    private void setMethod(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      method_ = value;
    }
    /**
     * <code>bytes method = 3;</code>
     */
    private void clearMethod() {
      
      method_ = getDefaultInstance().getMethod();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithCharSequenceMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithCharSequenceMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes resourceId = 2;</code>
       * @return The resourceId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getResourceId() {
        return instance.getResourceId();
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @param value The resourceId to set.
       * @return This builder for chaining.
       */
      public Builder setResourceId(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setResourceId(value);
        return this;
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearResourceId() {
        copyOnWrite();
        instance.clearResourceId();
        return this;
      }

      /**
       * <code>bytes method = 3;</code>
       * @return The method.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getMethod() {
        return instance.getMethod();
      }
      /**
       * <code>bytes method = 3;</code>
       * @param value The method to set.
       * @return This builder for chaining.
       */
      public Builder setMethod(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setMethod(value);
        return this;
      }
      /**
       * <code>bytes method = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMethod() {
        copyOnWrite();
        instance.clearMethod();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithCharSequenceMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "resourceId_",
              "method_",
            };
            java.lang.String info =
                "\u0000\u0003\u0000\u0000\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "\u0003\n";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithCharSequenceMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto DEFAULT_INSTANCE;
    static {
      WithCharSequenceMatcherProto defaultInstance = new WithCharSequenceMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithCharSequenceMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCharSequenceMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithHintMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithHintMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return Whether the stringMatcher field is set.
     */
    boolean hasStringMatcher();
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return The stringMatcher.
     */
    com.google.protobuf.Any getStringMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithHintMatcherProto}
   */
  public  static final class WithHintMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithHintMatcherProto, WithHintMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithHintMatcherProto)
      WithHintMatcherProtoOrBuilder {
    private WithHintMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int STRINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any stringMatcher_;
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasStringMatcher() {
      return stringMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getStringMatcher() {
      return stringMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : stringMatcher_;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void setStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  stringMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (stringMatcher_ != null &&
          stringMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        stringMatcher_ =
          com.google.protobuf.Any.newBuilder(stringMatcher_).mergeFrom(value).buildPartial();
      } else {
        stringMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void clearStringMatcher() {  stringMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithHintMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithHintMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasStringMatcher() {
        return instance.hasStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getStringMatcher() {
        return instance.getStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setStringMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setStringMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder mergeStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeStringMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder clearStringMatcher() {  copyOnWrite();
        instance.clearStringMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithHintMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "stringMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithHintMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto DEFAULT_INSTANCE;
    static {
      WithHintMatcherProto defaultInstance = new WithHintMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithHintMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithHintMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithCheckBoxStateMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     * @return Whether the checkStateMatcher field is set.
     */
    boolean hasCheckStateMatcher();
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     * @return The checkStateMatcher.
     */
    com.google.protobuf.Any getCheckStateMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto}
   */
  public  static final class WithCheckBoxStateMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithCheckBoxStateMatcherProto, WithCheckBoxStateMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto)
      WithCheckBoxStateMatcherProtoOrBuilder {
    private WithCheckBoxStateMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CHECKSTATEMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any checkStateMatcher_;
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasCheckStateMatcher() {
      return checkStateMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getCheckStateMatcher() {
      return checkStateMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : checkStateMatcher_;
    }
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     */
    private void setCheckStateMatcher(com.google.protobuf.Any value) {
      value.getClass();
  checkStateMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeCheckStateMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (checkStateMatcher_ != null &&
          checkStateMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        checkStateMatcher_ =
          com.google.protobuf.Any.newBuilder(checkStateMatcher_).mergeFrom(value).buildPartial();
      } else {
        checkStateMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
     */
    private void clearCheckStateMatcher() {  checkStateMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasCheckStateMatcher() {
        return instance.hasCheckStateMatcher();
      }
      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getCheckStateMatcher() {
        return instance.getCheckStateMatcher();
      }
      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      public Builder setCheckStateMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setCheckStateMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      public Builder setCheckStateMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setCheckStateMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      public Builder mergeCheckStateMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeCheckStateMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any checkStateMatcher = 2;</code>
       */
      public Builder clearCheckStateMatcher() {  copyOnWrite();
        instance.clearCheckStateMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "checkStateMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithCheckBoxStateMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto DEFAULT_INSTANCE;
    static {
      WithCheckBoxStateMatcherProto defaultInstance = new WithCheckBoxStateMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithCheckBoxStateMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithCheckBoxStateMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasContentDescriptionMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasContentDescriptionMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasContentDescriptionMatcherProto}
   */
  public  static final class HasContentDescriptionMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasContentDescriptionMatcherProto, HasContentDescriptionMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasContentDescriptionMatcherProto)
      HasContentDescriptionMatcherProtoOrBuilder {
    private HasContentDescriptionMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasContentDescriptionMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasContentDescriptionMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasContentDescriptionMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto DEFAULT_INSTANCE;
    static {
      HasContentDescriptionMatcherProto defaultInstance = new HasContentDescriptionMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasContentDescriptionMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasContentDescriptionMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasDescendantMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasDescendantMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     * @return Whether the descendantMatcher field is set.
     */
    boolean hasDescendantMatcher();
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     * @return The descendantMatcher.
     */
    com.google.protobuf.Any getDescendantMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasDescendantMatcherProto}
   */
  public  static final class HasDescendantMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasDescendantMatcherProto, HasDescendantMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasDescendantMatcherProto)
      HasDescendantMatcherProtoOrBuilder {
    private HasDescendantMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int DESCENDANTMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any descendantMatcher_;
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasDescendantMatcher() {
      return descendantMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getDescendantMatcher() {
      return descendantMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : descendantMatcher_;
    }
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     */
    private void setDescendantMatcher(com.google.protobuf.Any value) {
      value.getClass();
  descendantMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeDescendantMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (descendantMatcher_ != null &&
          descendantMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        descendantMatcher_ =
          com.google.protobuf.Any.newBuilder(descendantMatcher_).mergeFrom(value).buildPartial();
      } else {
        descendantMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any descendantMatcher = 2;</code>
     */
    private void clearDescendantMatcher() {  descendantMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasDescendantMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasDescendantMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasDescendantMatcher() {
        return instance.hasDescendantMatcher();
      }
      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getDescendantMatcher() {
        return instance.getDescendantMatcher();
      }
      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      public Builder setDescendantMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setDescendantMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      public Builder setDescendantMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setDescendantMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      public Builder mergeDescendantMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeDescendantMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any descendantMatcher = 2;</code>
       */
      public Builder clearDescendantMatcher() {  copyOnWrite();
        instance.clearDescendantMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasDescendantMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "descendantMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasDescendantMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto DEFAULT_INSTANCE;
    static {
      HasDescendantMatcherProto defaultInstance = new HasDescendantMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasDescendantMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasDescendantMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsClickableMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsClickableMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes is_clickable = 2;</code>
     * @return The isClickable.
     */
    com.google.protobuf.ByteString getIsClickable();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsClickableMatcherProto}
   */
  public  static final class IsClickableMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsClickableMatcherProto, IsClickableMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsClickableMatcherProto)
      IsClickableMatcherProtoOrBuilder {
    private IsClickableMatcherProto() {
      id_ = "";
      isClickable_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int IS_CLICKABLE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString isClickable_;
    /**
     * <code>bytes is_clickable = 2;</code>
     * @return The isClickable.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getIsClickable() {
      return isClickable_;
    }
    /**
     * <code>bytes is_clickable = 2;</code>
     * @param value The isClickable to set.
     */
    private void setIsClickable(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      isClickable_ = value;
    }
    /**
     * <code>bytes is_clickable = 2;</code>
     */
    private void clearIsClickable() {
      
      isClickable_ = getDefaultInstance().getIsClickable();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsClickableMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsClickableMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes is_clickable = 2;</code>
       * @return The isClickable.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getIsClickable() {
        return instance.getIsClickable();
      }
      /**
       * <code>bytes is_clickable = 2;</code>
       * @param value The isClickable to set.
       * @return This builder for chaining.
       */
      public Builder setIsClickable(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIsClickable(value);
        return this;
      }
      /**
       * <code>bytes is_clickable = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsClickable() {
        copyOnWrite();
        instance.clearIsClickable();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsClickableMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "isClickable_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsClickableMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto DEFAULT_INSTANCE;
    static {
      IsClickableMatcherProto defaultInstance = new IsClickableMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsClickableMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsClickableMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsDescendantOfAMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsDescendantOfAMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     * @return Whether the ancestorMatcher field is set.
     */
    boolean hasAncestorMatcher();
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     * @return The ancestorMatcher.
     */
    com.google.protobuf.Any getAncestorMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsDescendantOfAMatcherProto}
   */
  public  static final class IsDescendantOfAMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsDescendantOfAMatcherProto, IsDescendantOfAMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsDescendantOfAMatcherProto)
      IsDescendantOfAMatcherProtoOrBuilder {
    private IsDescendantOfAMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int ANCESTORMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any ancestorMatcher_;
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasAncestorMatcher() {
      return ancestorMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getAncestorMatcher() {
      return ancestorMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : ancestorMatcher_;
    }
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     */
    private void setAncestorMatcher(com.google.protobuf.Any value) {
      value.getClass();
  ancestorMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeAncestorMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (ancestorMatcher_ != null &&
          ancestorMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        ancestorMatcher_ =
          com.google.protobuf.Any.newBuilder(ancestorMatcher_).mergeFrom(value).buildPartial();
      } else {
        ancestorMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
     */
    private void clearAncestorMatcher() {  ancestorMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsDescendantOfAMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsDescendantOfAMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasAncestorMatcher() {
        return instance.hasAncestorMatcher();
      }
      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getAncestorMatcher() {
        return instance.getAncestorMatcher();
      }
      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      public Builder setAncestorMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setAncestorMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      public Builder setAncestorMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setAncestorMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      public Builder mergeAncestorMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeAncestorMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any ancestorMatcher = 2;</code>
       */
      public Builder clearAncestorMatcher() {  copyOnWrite();
        instance.clearAncestorMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.IsDescendantOfAMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "ancestorMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsDescendantOfAMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto DEFAULT_INSTANCE;
    static {
      IsDescendantOfAMatcherProto defaultInstance = new IsDescendantOfAMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsDescendantOfAMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsDescendantOfAMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithEffectiveVisibilityMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes visibility = 2;</code>
     * @return The visibility.
     */
    com.google.protobuf.ByteString getVisibility();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto}
   */
  public  static final class WithEffectiveVisibilityMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithEffectiveVisibilityMatcherProto, WithEffectiveVisibilityMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto)
      WithEffectiveVisibilityMatcherProtoOrBuilder {
    private WithEffectiveVisibilityMatcherProto() {
      id_ = "";
      visibility_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int VISIBILITY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString visibility_;
    /**
     * <code>bytes visibility = 2;</code>
     * @return The visibility.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getVisibility() {
      return visibility_;
    }
    /**
     * <code>bytes visibility = 2;</code>
     * @param value The visibility to set.
     */
    private void setVisibility(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      visibility_ = value;
    }
    /**
     * <code>bytes visibility = 2;</code>
     */
    private void clearVisibility() {
      
      visibility_ = getDefaultInstance().getVisibility();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes visibility = 2;</code>
       * @return The visibility.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getVisibility() {
        return instance.getVisibility();
      }
      /**
       * <code>bytes visibility = 2;</code>
       * @param value The visibility to set.
       * @return This builder for chaining.
       */
      public Builder setVisibility(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setVisibility(value);
        return this;
      }
      /**
       * <code>bytes visibility = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearVisibility() {
        copyOnWrite();
        instance.clearVisibility();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "visibility_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithEffectiveVisibilityMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto DEFAULT_INSTANCE;
    static {
      WithEffectiveVisibilityMatcherProto defaultInstance = new WithEffectiveVisibilityMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithEffectiveVisibilityMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithEffectiveVisibilityMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithAlphaMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithAlphaMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes alpha = 2;</code>
     * @return The alpha.
     */
    com.google.protobuf.ByteString getAlpha();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithAlphaMatcherProto}
   */
  public  static final class WithAlphaMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithAlphaMatcherProto, WithAlphaMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithAlphaMatcherProto)
      WithAlphaMatcherProtoOrBuilder {
    private WithAlphaMatcherProto() {
      id_ = "";
      alpha_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int ALPHA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString alpha_;
    /**
     * <code>bytes alpha = 2;</code>
     * @return The alpha.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getAlpha() {
      return alpha_;
    }
    /**
     * <code>bytes alpha = 2;</code>
     * @param value The alpha to set.
     */
    private void setAlpha(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      alpha_ = value;
    }
    /**
     * <code>bytes alpha = 2;</code>
     */
    private void clearAlpha() {
      
      alpha_ = getDefaultInstance().getAlpha();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithAlphaMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithAlphaMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes alpha = 2;</code>
       * @return The alpha.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getAlpha() {
        return instance.getAlpha();
      }
      /**
       * <code>bytes alpha = 2;</code>
       * @param value The alpha to set.
       * @return This builder for chaining.
       */
      public Builder setAlpha(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setAlpha(value);
        return this;
      }
      /**
       * <code>bytes alpha = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAlpha() {
        copyOnWrite();
        instance.clearAlpha();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithAlphaMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "alpha_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithAlphaMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto DEFAULT_INSTANCE;
    static {
      WithAlphaMatcherProto defaultInstance = new WithAlphaMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithAlphaMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithAlphaMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithParentMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithParentMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     * @return Whether the parentMatcher field is set.
     */
    boolean hasParentMatcher();
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     * @return The parentMatcher.
     */
    com.google.protobuf.Any getParentMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithParentMatcherProto}
   */
  public  static final class WithParentMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithParentMatcherProto, WithParentMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithParentMatcherProto)
      WithParentMatcherProtoOrBuilder {
    private WithParentMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int PARENTMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any parentMatcher_;
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasParentMatcher() {
      return parentMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getParentMatcher() {
      return parentMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : parentMatcher_;
    }
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     */
    private void setParentMatcher(com.google.protobuf.Any value) {
      value.getClass();
  parentMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeParentMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (parentMatcher_ != null &&
          parentMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        parentMatcher_ =
          com.google.protobuf.Any.newBuilder(parentMatcher_).mergeFrom(value).buildPartial();
      } else {
        parentMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any parentMatcher = 2;</code>
     */
    private void clearParentMatcher() {  parentMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithParentMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithParentMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasParentMatcher() {
        return instance.hasParentMatcher();
      }
      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getParentMatcher() {
        return instance.getParentMatcher();
      }
      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      public Builder setParentMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setParentMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      public Builder setParentMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setParentMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      public Builder mergeParentMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeParentMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any parentMatcher = 2;</code>
       */
      public Builder clearParentMatcher() {  copyOnWrite();
        instance.clearParentMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithParentMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "parentMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithParentMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto DEFAULT_INSTANCE;
    static {
      WithParentMatcherProto defaultInstance = new WithParentMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithParentMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithChildMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithChildMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     * @return Whether the childMatcher field is set.
     */
    boolean hasChildMatcher();
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     * @return The childMatcher.
     */
    com.google.protobuf.Any getChildMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithChildMatcherProto}
   */
  public  static final class WithChildMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithChildMatcherProto, WithChildMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithChildMatcherProto)
      WithChildMatcherProtoOrBuilder {
    private WithChildMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CHILDMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any childMatcher_;
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasChildMatcher() {
      return childMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getChildMatcher() {
      return childMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : childMatcher_;
    }
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     */
    private void setChildMatcher(com.google.protobuf.Any value) {
      value.getClass();
  childMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeChildMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (childMatcher_ != null &&
          childMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        childMatcher_ =
          com.google.protobuf.Any.newBuilder(childMatcher_).mergeFrom(value).buildPartial();
      } else {
        childMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any childMatcher = 2;</code>
     */
    private void clearChildMatcher() {  childMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithChildMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithChildMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasChildMatcher() {
        return instance.hasChildMatcher();
      }
      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getChildMatcher() {
        return instance.getChildMatcher();
      }
      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      public Builder setChildMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setChildMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      public Builder setChildMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setChildMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      public Builder mergeChildMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeChildMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any childMatcher = 2;</code>
       */
      public Builder clearChildMatcher() {  copyOnWrite();
        instance.clearChildMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithChildMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "childMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithChildMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto DEFAULT_INSTANCE;
    static {
      WithChildMatcherProto defaultInstance = new WithChildMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithChildMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithChildMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasChildCountMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasChildCountMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes childCount = 2;</code>
     * @return The childCount.
     */
    com.google.protobuf.ByteString getChildCount();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasChildCountMatcherProto}
   */
  public  static final class HasChildCountMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasChildCountMatcherProto, HasChildCountMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasChildCountMatcherProto)
      HasChildCountMatcherProtoOrBuilder {
    private HasChildCountMatcherProto() {
      id_ = "";
      childCount_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int CHILDCOUNT_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString childCount_;
    /**
     * <code>bytes childCount = 2;</code>
     * @return The childCount.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getChildCount() {
      return childCount_;
    }
    /**
     * <code>bytes childCount = 2;</code>
     * @param value The childCount to set.
     */
    private void setChildCount(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      childCount_ = value;
    }
    /**
     * <code>bytes childCount = 2;</code>
     */
    private void clearChildCount() {
      
      childCount_ = getDefaultInstance().getChildCount();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasChildCountMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasChildCountMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes childCount = 2;</code>
       * @return The childCount.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getChildCount() {
        return instance.getChildCount();
      }
      /**
       * <code>bytes childCount = 2;</code>
       * @param value The childCount to set.
       * @return This builder for chaining.
       */
      public Builder setChildCount(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setChildCount(value);
        return this;
      }
      /**
       * <code>bytes childCount = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearChildCount() {
        copyOnWrite();
        instance.clearChildCount();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasChildCountMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "childCount_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasChildCountMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto DEFAULT_INSTANCE;
    static {
      HasChildCountMatcherProto defaultInstance = new HasChildCountMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasChildCountMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasChildCountMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasMinimumChildCountMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes minChildCount = 2;</code>
     * @return The minChildCount.
     */
    com.google.protobuf.ByteString getMinChildCount();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto}
   */
  public  static final class HasMinimumChildCountMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasMinimumChildCountMatcherProto, HasMinimumChildCountMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto)
      HasMinimumChildCountMatcherProtoOrBuilder {
    private HasMinimumChildCountMatcherProto() {
      id_ = "";
      minChildCount_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int MINCHILDCOUNT_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString minChildCount_;
    /**
     * <code>bytes minChildCount = 2;</code>
     * @return The minChildCount.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getMinChildCount() {
      return minChildCount_;
    }
    /**
     * <code>bytes minChildCount = 2;</code>
     * @param value The minChildCount to set.
     */
    private void setMinChildCount(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      minChildCount_ = value;
    }
    /**
     * <code>bytes minChildCount = 2;</code>
     */
    private void clearMinChildCount() {
      
      minChildCount_ = getDefaultInstance().getMinChildCount();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes minChildCount = 2;</code>
       * @return The minChildCount.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getMinChildCount() {
        return instance.getMinChildCount();
      }
      /**
       * <code>bytes minChildCount = 2;</code>
       * @param value The minChildCount to set.
       * @return This builder for chaining.
       */
      public Builder setMinChildCount(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setMinChildCount(value);
        return this;
      }
      /**
       * <code>bytes minChildCount = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearMinChildCount() {
        copyOnWrite();
        instance.clearMinChildCount();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "minChildCount_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasMinimumChildCountMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto DEFAULT_INSTANCE;
    static {
      HasMinimumChildCountMatcherProto defaultInstance = new HasMinimumChildCountMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasMinimumChildCountMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasMinimumChildCountMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsRootMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsRootMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsRootMatcherProto}
   */
  public  static final class IsRootMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsRootMatcherProto, IsRootMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsRootMatcherProto)
      IsRootMatcherProtoOrBuilder {
    private IsRootMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsRootMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsRootMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsRootMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto DEFAULT_INSTANCE;
    static {
      IsRootMatcherProto defaultInstance = new IsRootMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsRootMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsRootMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface SupportsInputMethodsMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto}
   */
  public  static final class SupportsInputMethodsMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          SupportsInputMethodsMatcherProto, SupportsInputMethodsMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto)
      SupportsInputMethodsMatcherProtoOrBuilder {
    private SupportsInputMethodsMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.SupportsInputMethodsMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto DEFAULT_INSTANCE;
    static {
      SupportsInputMethodsMatcherProto defaultInstance = new SupportsInputMethodsMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        SupportsInputMethodsMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.SupportsInputMethodsMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasImeActionMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasImeActionMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     * @return Whether the imeActionMatcher field is set.
     */
    boolean hasImeActionMatcher();
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     * @return The imeActionMatcher.
     */
    com.google.protobuf.Any getImeActionMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasImeActionMatcherProto}
   */
  public  static final class HasImeActionMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasImeActionMatcherProto, HasImeActionMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasImeActionMatcherProto)
      HasImeActionMatcherProtoOrBuilder {
    private HasImeActionMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int IMEACTIONMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any imeActionMatcher_;
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasImeActionMatcher() {
      return imeActionMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getImeActionMatcher() {
      return imeActionMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : imeActionMatcher_;
    }
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     */
    private void setImeActionMatcher(com.google.protobuf.Any value) {
      value.getClass();
  imeActionMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeImeActionMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (imeActionMatcher_ != null &&
          imeActionMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        imeActionMatcher_ =
          com.google.protobuf.Any.newBuilder(imeActionMatcher_).mergeFrom(value).buildPartial();
      } else {
        imeActionMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
     */
    private void clearImeActionMatcher() {  imeActionMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasImeActionMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasImeActionMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasImeActionMatcher() {
        return instance.hasImeActionMatcher();
      }
      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getImeActionMatcher() {
        return instance.getImeActionMatcher();
      }
      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      public Builder setImeActionMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setImeActionMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      public Builder setImeActionMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setImeActionMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      public Builder mergeImeActionMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeImeActionMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any imeActionMatcher = 2;</code>
       */
      public Builder clearImeActionMatcher() {  copyOnWrite();
        instance.clearImeActionMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasImeActionMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "imeActionMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasImeActionMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto DEFAULT_INSTANCE;
    static {
      HasImeActionMatcherProto defaultInstance = new HasImeActionMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasImeActionMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasImeActionMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasLinksMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasLinksMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasLinksMatcherProto}
   */
  public  static final class HasLinksMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasLinksMatcherProto, HasLinksMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasLinksMatcherProto)
      HasLinksMatcherProtoOrBuilder {
    private HasLinksMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasLinksMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasLinksMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasLinksMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto DEFAULT_INSTANCE;
    static {
      HasLinksMatcherProto defaultInstance = new HasLinksMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasLinksMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasLinksMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithSpinnerTextIdMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    com.google.protobuf.ByteString getResourceId();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto}
   */
  public  static final class WithSpinnerTextIdMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithSpinnerTextIdMatcherProto, WithSpinnerTextIdMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto)
      WithSpinnerTextIdMatcherProtoOrBuilder {
    private WithSpinnerTextIdMatcherProto() {
      id_ = "";
      resourceId_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int RESOURCEID_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString resourceId_;
    /**
     * <code>bytes resourceId = 2;</code>
     * @return The resourceId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getResourceId() {
      return resourceId_;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     * @param value The resourceId to set.
     */
    private void setResourceId(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      resourceId_ = value;
    }
    /**
     * <code>bytes resourceId = 2;</code>
     */
    private void clearResourceId() {
      
      resourceId_ = getDefaultInstance().getResourceId();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes resourceId = 2;</code>
       * @return The resourceId.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getResourceId() {
        return instance.getResourceId();
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @param value The resourceId to set.
       * @return This builder for chaining.
       */
      public Builder setResourceId(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setResourceId(value);
        return this;
      }
      /**
       * <code>bytes resourceId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearResourceId() {
        copyOnWrite();
        instance.clearResourceId();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "resourceId_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithSpinnerTextIdMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto DEFAULT_INSTANCE;
    static {
      WithSpinnerTextIdMatcherProto defaultInstance = new WithSpinnerTextIdMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithSpinnerTextIdMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextIdMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithSpinnerTextMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithSpinnerTextMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return Whether the stringMatcher field is set.
     */
    boolean hasStringMatcher();
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return The stringMatcher.
     */
    com.google.protobuf.Any getStringMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithSpinnerTextMatcherProto}
   */
  public  static final class WithSpinnerTextMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithSpinnerTextMatcherProto, WithSpinnerTextMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithSpinnerTextMatcherProto)
      WithSpinnerTextMatcherProtoOrBuilder {
    private WithSpinnerTextMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int STRINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any stringMatcher_;
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasStringMatcher() {
      return stringMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getStringMatcher() {
      return stringMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : stringMatcher_;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void setStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  stringMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (stringMatcher_ != null &&
          stringMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        stringMatcher_ =
          com.google.protobuf.Any.newBuilder(stringMatcher_).mergeFrom(value).buildPartial();
      } else {
        stringMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void clearStringMatcher() {  stringMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithSpinnerTextMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithSpinnerTextMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasStringMatcher() {
        return instance.hasStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getStringMatcher() {
        return instance.getStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setStringMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setStringMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder mergeStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeStringMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder clearStringMatcher() {  copyOnWrite();
        instance.clearStringMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithSpinnerTextMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "stringMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithSpinnerTextMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto DEFAULT_INSTANCE;
    static {
      WithSpinnerTextMatcherProto defaultInstance = new WithSpinnerTextMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithSpinnerTextMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithSpinnerTextMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface IsJavascriptEnabledMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto}
   */
  public  static final class IsJavascriptEnabledMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          IsJavascriptEnabledMatcherProto, IsJavascriptEnabledMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto)
      IsJavascriptEnabledMatcherProtoOrBuilder {
    private IsJavascriptEnabledMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

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


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.IsJavascriptEnabledMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto DEFAULT_INSTANCE;
    static {
      IsJavascriptEnabledMatcherProto defaultInstance = new IsJavascriptEnabledMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        IsJavascriptEnabledMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.IsJavascriptEnabledMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface HasErrorTextMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.HasErrorTextMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return Whether the stringMatcher field is set.
     */
    boolean hasStringMatcher();
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     * @return The stringMatcher.
     */
    com.google.protobuf.Any getStringMatcher();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.HasErrorTextMatcherProto}
   */
  public  static final class HasErrorTextMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          HasErrorTextMatcherProto, HasErrorTextMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.HasErrorTextMatcherProto)
      HasErrorTextMatcherProtoOrBuilder {
    private HasErrorTextMatcherProto() {
      id_ = "";
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int STRINGMATCHER_FIELD_NUMBER = 2;
    private com.google.protobuf.Any stringMatcher_;
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public boolean hasStringMatcher() {
      return stringMatcher_ != null;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.Override
    public com.google.protobuf.Any getStringMatcher() {
      return stringMatcher_ == null ? com.google.protobuf.Any.getDefaultInstance() : stringMatcher_;
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void setStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  stringMatcher_ = value;
      
      }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeStringMatcher(com.google.protobuf.Any value) {
      value.getClass();
  if (stringMatcher_ != null &&
          stringMatcher_ != com.google.protobuf.Any.getDefaultInstance()) {
        stringMatcher_ =
          com.google.protobuf.Any.newBuilder(stringMatcher_).mergeFrom(value).buildPartial();
      } else {
        stringMatcher_ = value;
      }
      
    }
    /**
     * <code>.google.protobuf.Any stringMatcher = 2;</code>
     */
    private void clearStringMatcher() {  stringMatcher_ = null;
      
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.HasErrorTextMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.HasErrorTextMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public boolean hasStringMatcher() {
        return instance.hasStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      @java.lang.Override
      public com.google.protobuf.Any getStringMatcher() {
        return instance.getStringMatcher();
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.setStringMatcher(value);
        return this;
        }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder setStringMatcher(
          com.google.protobuf.Any.Builder builderForValue) {
        copyOnWrite();
        instance.setStringMatcher(builderForValue.build());
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder mergeStringMatcher(com.google.protobuf.Any value) {
        copyOnWrite();
        instance.mergeStringMatcher(value);
        return this;
      }
      /**
       * <code>.google.protobuf.Any stringMatcher = 2;</code>
       */
      public Builder clearStringMatcher() {  copyOnWrite();
        instance.clearStringMatcher();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.HasErrorTextMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "stringMatcher_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\t" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.HasErrorTextMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto DEFAULT_INSTANCE;
    static {
      HasErrorTextMatcherProto defaultInstance = new HasErrorTextMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        HasErrorTextMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.HasErrorTextMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithInputTypeMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithInputTypeMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes inputType = 2;</code>
     * @return The inputType.
     */
    com.google.protobuf.ByteString getInputType();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithInputTypeMatcherProto}
   */
  public  static final class WithInputTypeMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithInputTypeMatcherProto, WithInputTypeMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithInputTypeMatcherProto)
      WithInputTypeMatcherProtoOrBuilder {
    private WithInputTypeMatcherProto() {
      id_ = "";
      inputType_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int INPUTTYPE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString inputType_;
    /**
     * <code>bytes inputType = 2;</code>
     * @return The inputType.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getInputType() {
      return inputType_;
    }
    /**
     * <code>bytes inputType = 2;</code>
     * @param value The inputType to set.
     */
    private void setInputType(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      inputType_ = value;
    }
    /**
     * <code>bytes inputType = 2;</code>
     */
    private void clearInputType() {
      
      inputType_ = getDefaultInstance().getInputType();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithInputTypeMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithInputTypeMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes inputType = 2;</code>
       * @return The inputType.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getInputType() {
        return instance.getInputType();
      }
      /**
       * <code>bytes inputType = 2;</code>
       * @param value The inputType to set.
       * @return This builder for chaining.
       */
      public Builder setInputType(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setInputType(value);
        return this;
      }
      /**
       * <code>bytes inputType = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearInputType() {
        copyOnWrite();
        instance.clearInputType();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithInputTypeMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "inputType_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithInputTypeMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto DEFAULT_INSTANCE;
    static {
      WithInputTypeMatcherProto defaultInstance = new WithInputTypeMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithInputTypeMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithInputTypeMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

  public interface WithParentIndexMatcherProtoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:google.test.remote.ui.matcher.WithParentIndexMatcherProto)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    java.lang.String getId();
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>bytes index = 2;</code>
     * @return The index.
     */
    com.google.protobuf.ByteString getIndex();
  }
  /**
   * Protobuf type {@code google.test.remote.ui.matcher.WithParentIndexMatcherProto}
   */
  public  static final class WithParentIndexMatcherProto extends
      com.google.protobuf.GeneratedMessageLite<
          WithParentIndexMatcherProto, WithParentIndexMatcherProto.Builder> implements
      // @@protoc_insertion_point(message_implements:google.test.remote.ui.matcher.WithParentIndexMatcherProto)
      WithParentIndexMatcherProtoOrBuilder {
    private WithParentIndexMatcherProto() {
      id_ = "";
      index_ = com.google.protobuf.ByteString.EMPTY;
    }
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.String id_;
    /**
     * <code>string id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public java.lang.String getId() {
      return id_;
    }
    /**
     * <code>string id = 1;</code>
     * @return The bytes for id.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(id_);
    }
    /**
     * <code>string id = 1;</code>
     * @param value The id to set.
     */
    private void setId(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      id_ = value;
    }
    /**
     * <code>string id = 1;</code>
     */
    private void clearId() {
      
      id_ = getDefaultInstance().getId();
    }
    /**
     * <code>string id = 1;</code>
     * @param value The bytes for id to set.
     */
    private void setIdBytes(
        com.google.protobuf.ByteString value) {
      checkByteStringIsUtf8(value);
      id_ = value.toStringUtf8();
      
    }

    public static final int INDEX_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString index_;
    /**
     * <code>bytes index = 2;</code>
     * @return The index.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getIndex() {
      return index_;
    }
    /**
     * <code>bytes index = 2;</code>
     * @param value The index to set.
     */
    private void setIndex(com.google.protobuf.ByteString value) {
      java.lang.Class<?> valueClass = value.getClass();
  
      index_ = value;
    }
    /**
     * <code>bytes index = 2;</code>
     */
    private void clearIndex() {
      
      index_ = getDefaultInstance().getIndex();
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code google.test.remote.ui.matcher.WithParentIndexMatcherProto}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto, Builder> implements
        // @@protoc_insertion_point(builder_implements:google.test.remote.ui.matcher.WithParentIndexMatcherProto)
        androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProtoOrBuilder {
      // Construct using androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        return instance.getId();
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        return instance.getIdBytes();
      }
      /**
       * <code>string id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          java.lang.String value) {
        copyOnWrite();
        instance.setId(value);
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        copyOnWrite();
        instance.clearId();
        return this;
      }
      /**
       * <code>string id = 1;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIdBytes(value);
        return this;
      }

      /**
       * <code>bytes index = 2;</code>
       * @return The index.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getIndex() {
        return instance.getIndex();
      }
      /**
       * <code>bytes index = 2;</code>
       * @param value The index to set.
       * @return This builder for chaining.
       */
      public Builder setIndex(com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setIndex(value);
        return this;
      }
      /**
       * <code>bytes index = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIndex() {
        copyOnWrite();
        instance.clearIndex();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:google.test.remote.ui.matcher.WithParentIndexMatcherProto)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "id_",
              "index_",
            };
            java.lang.String info =
                "\u0000\u0002\u0000\u0000\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u0208\u0002\n" +
                "";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto> parser = PARSER;
          if (parser == null) {
            synchronized (androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:google.test.remote.ui.matcher.WithParentIndexMatcherProto)
    private static final androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto DEFAULT_INSTANCE;
    static {
      WithParentIndexMatcherProto defaultInstance = new WithParentIndexMatcherProto();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        WithParentIndexMatcherProto.class, defaultInstance);
    }

    public static androidx.test.espresso.proto.matcher.ViewMatchers.WithParentIndexMatcherProto getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}