// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: cmvr/api/camera_command.proto

package cmvr.api;

public final class CameraCommand {
  private CameraCommand() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface FrameDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.FrameData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>bytes data = 1;</code>
     * @return The data.
     */
    com.google.protobuf.ByteString getData();

    /**
     * <code>int32 width = 2;</code>
     * @return The width.
     */
    int getWidth();

    /**
     * <code>int32 height = 3;</code>
     * @return The height.
     */
    int getHeight();

    /**
     * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
     * @return The enum numeric value on the wire for type.
     */
    int getTypeValue();
    /**
     * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
     * @return The type.
     */
    cmvr.api.CameraCommand.FrameData.FrameType getType();

    /**
     * <code>string codec = 5;</code>
     * @return The codec.
     */
    java.lang.String getCodec();
    /**
     * <code>string codec = 5;</code>
     * @return The bytes for codec.
     */
    com.google.protobuf.ByteString
        getCodecBytes();

    /**
     * <code>bool is_key_frame = 6;</code>
     * @return The isKeyFrame.
     */
    boolean getIsKeyFrame();
  }
  /**
   * Protobuf type {@code cmvr.api.FrameData}
   */
  public static final class FrameData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.FrameData)
      FrameDataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FrameData.newBuilder() to construct.
    private FrameData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FrameData() {
      data_ = com.google.protobuf.ByteString.EMPTY;
      type_ = 0;
      codec_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_FrameData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_FrameData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.FrameData.class, cmvr.api.CameraCommand.FrameData.Builder.class);
    }

    /**
     * Protobuf enum {@code cmvr.api.FrameData.FrameType}
     */
    public enum FrameType
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>U8C1 = 0;</code>
       */
      U8C1(0),
      /**
       * <code>U16C1 = 1;</code>
       */
      U16C1(1),
      /**
       * <code>U8C3 = 2;</code>
       */
      U8C3(2),
      /**
       * <code>U16C3 = 3;</code>
       */
      U16C3(3),
      /**
       * <code>F16C1 = 4;</code>
       */
      F16C1(4),
      /**
       * <code>F32C1 = 5;</code>
       */
      F32C1(5),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>U8C1 = 0;</code>
       */
      public static final int U8C1_VALUE = 0;
      /**
       * <code>U16C1 = 1;</code>
       */
      public static final int U16C1_VALUE = 1;
      /**
       * <code>U8C3 = 2;</code>
       */
      public static final int U8C3_VALUE = 2;
      /**
       * <code>U16C3 = 3;</code>
       */
      public static final int U16C3_VALUE = 3;
      /**
       * <code>F16C1 = 4;</code>
       */
      public static final int F16C1_VALUE = 4;
      /**
       * <code>F32C1 = 5;</code>
       */
      public static final int F32C1_VALUE = 5;


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

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

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static FrameType forNumber(int value) {
        switch (value) {
          case 0: return U8C1;
          case 1: return U16C1;
          case 2: return U8C3;
          case 3: return U16C3;
          case 4: return F16C1;
          case 5: return F32C1;
          default: return null;
        }
      }

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

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

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:cmvr.api.FrameData.FrameType)
    }

    public static final int DATA_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString data_;
    /**
     * <code>bytes data = 1;</code>
     * @return The data.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    public static final int WIDTH_FIELD_NUMBER = 2;
    private int width_;
    /**
     * <code>int32 width = 2;</code>
     * @return The width.
     */
    @java.lang.Override
    public int getWidth() {
      return width_;
    }

    public static final int HEIGHT_FIELD_NUMBER = 3;
    private int height_;
    /**
     * <code>int32 height = 3;</code>
     * @return The height.
     */
    @java.lang.Override
    public int getHeight() {
      return height_;
    }

    public static final int TYPE_FIELD_NUMBER = 4;
    private int type_;
    /**
     * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
     * @return The enum numeric value on the wire for type.
     */
    @java.lang.Override public int getTypeValue() {
      return type_;
    }
    /**
     * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
     * @return The type.
     */
    @java.lang.Override public cmvr.api.CameraCommand.FrameData.FrameType getType() {
      @SuppressWarnings("deprecation")
      cmvr.api.CameraCommand.FrameData.FrameType result = cmvr.api.CameraCommand.FrameData.FrameType.valueOf(type_);
      return result == null ? cmvr.api.CameraCommand.FrameData.FrameType.UNRECOGNIZED : result;
    }

    public static final int CODEC_FIELD_NUMBER = 5;
    private volatile java.lang.Object codec_;
    /**
     * <code>string codec = 5;</code>
     * @return The codec.
     */
    @java.lang.Override
    public java.lang.String getCodec() {
      java.lang.Object ref = codec_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        codec_ = s;
        return s;
      }
    }
    /**
     * <code>string codec = 5;</code>
     * @return The bytes for codec.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodecBytes() {
      java.lang.Object ref = codec_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        codec_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IS_KEY_FRAME_FIELD_NUMBER = 6;
    private boolean isKeyFrame_;
    /**
     * <code>bool is_key_frame = 6;</code>
     * @return The isKeyFrame.
     */
    @java.lang.Override
    public boolean getIsKeyFrame() {
      return isKeyFrame_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!data_.isEmpty()) {
        output.writeBytes(1, data_);
      }
      if (width_ != 0) {
        output.writeInt32(2, width_);
      }
      if (height_ != 0) {
        output.writeInt32(3, height_);
      }
      if (type_ != cmvr.api.CameraCommand.FrameData.FrameType.U8C1.getNumber()) {
        output.writeEnum(4, type_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(codec_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, codec_);
      }
      if (isKeyFrame_ != false) {
        output.writeBool(6, isKeyFrame_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (!data_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, data_);
      }
      if (width_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, width_);
      }
      if (height_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, height_);
      }
      if (type_ != cmvr.api.CameraCommand.FrameData.FrameType.U8C1.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, type_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(codec_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, codec_);
      }
      if (isKeyFrame_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, isKeyFrame_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.FrameData)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.FrameData other = (cmvr.api.CameraCommand.FrameData) obj;

      if (!getData()
          .equals(other.getData())) return false;
      if (getWidth()
          != other.getWidth()) return false;
      if (getHeight()
          != other.getHeight()) return false;
      if (type_ != other.type_) return false;
      if (!getCodec()
          .equals(other.getCodec())) return false;
      if (getIsKeyFrame()
          != other.getIsKeyFrame()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DATA_FIELD_NUMBER;
      hash = (53 * hash) + getData().hashCode();
      hash = (37 * hash) + WIDTH_FIELD_NUMBER;
      hash = (53 * hash) + getWidth();
      hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
      hash = (53 * hash) + getHeight();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      hash = (37 * hash) + CODEC_FIELD_NUMBER;
      hash = (53 * hash) + getCodec().hashCode();
      hash = (37 * hash) + IS_KEY_FRAME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsKeyFrame());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static cmvr.api.CameraCommand.FrameData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.FrameData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.FrameData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.FrameData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.FrameData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.FrameData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.FrameData)
        cmvr.api.CameraCommand.FrameDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_FrameData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_FrameData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.FrameData.class, cmvr.api.CameraCommand.FrameData.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.FrameData.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        data_ = com.google.protobuf.ByteString.EMPTY;

        width_ = 0;

        height_ = 0;

        type_ = 0;

        codec_ = "";

        isKeyFrame_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_FrameData_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.FrameData.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData build() {
        cmvr.api.CameraCommand.FrameData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData buildPartial() {
        cmvr.api.CameraCommand.FrameData result = new cmvr.api.CameraCommand.FrameData(this);
        result.data_ = data_;
        result.width_ = width_;
        result.height_ = height_;
        result.type_ = type_;
        result.codec_ = codec_;
        result.isKeyFrame_ = isKeyFrame_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.FrameData) {
          return mergeFrom((cmvr.api.CameraCommand.FrameData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.FrameData other) {
        if (other == cmvr.api.CameraCommand.FrameData.getDefaultInstance()) return this;
        if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
          setData(other.getData());
        }
        if (other.getWidth() != 0) {
          setWidth(other.getWidth());
        }
        if (other.getHeight() != 0) {
          setHeight(other.getHeight());
        }
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (!other.getCodec().isEmpty()) {
          codec_ = other.codec_;
          onChanged();
        }
        if (other.getIsKeyFrame() != false) {
          setIsKeyFrame(other.getIsKeyFrame());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

                break;
              } // case 10
              case 16: {
                width_ = input.readInt32();

                break;
              } // case 16
              case 24: {
                height_ = input.readInt32();

                break;
              } // case 24
              case 32: {
                type_ = input.readEnum();

                break;
              } // case 32
              case 42: {
                codec_ = input.readStringRequireUtf8();

                break;
              } // case 42
              case 48: {
                isKeyFrame_ = input.readBool();

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

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes data = 1;</code>
       * @return The data.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <code>bytes data = 1;</code>
       * @param value The data to set.
       * @return This builder for chaining.
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes data = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearData() {
        
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      private int width_ ;
      /**
       * <code>int32 width = 2;</code>
       * @return The width.
       */
      @java.lang.Override
      public int getWidth() {
        return width_;
      }
      /**
       * <code>int32 width = 2;</code>
       * @param value The width to set.
       * @return This builder for chaining.
       */
      public Builder setWidth(int value) {
        
        width_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 width = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearWidth() {
        
        width_ = 0;
        onChanged();
        return this;
      }

      private int height_ ;
      /**
       * <code>int32 height = 3;</code>
       * @return The height.
       */
      @java.lang.Override
      public int getHeight() {
        return height_;
      }
      /**
       * <code>int32 height = 3;</code>
       * @param value The height to set.
       * @return This builder for chaining.
       */
      public Builder setHeight(int value) {
        
        height_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 height = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearHeight() {
        
        height_ = 0;
        onChanged();
        return this;
      }

      private int type_ = 0;
      /**
       * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
       * @return The enum numeric value on the wire for type.
       */
      @java.lang.Override public int getTypeValue() {
        return type_;
      }
      /**
       * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
       * @param value The enum numeric value on the wire for type to set.
       * @return This builder for chaining.
       */
      public Builder setTypeValue(int value) {
        
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
       * @return The type.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData.FrameType getType() {
        @SuppressWarnings("deprecation")
        cmvr.api.CameraCommand.FrameData.FrameType result = cmvr.api.CameraCommand.FrameData.FrameType.valueOf(type_);
        return result == null ? cmvr.api.CameraCommand.FrameData.FrameType.UNRECOGNIZED : result;
      }
      /**
       * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(cmvr.api.CameraCommand.FrameData.FrameType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.cmvr.api.FrameData.FrameType type = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object codec_ = "";
      /**
       * <code>string codec = 5;</code>
       * @return The codec.
       */
      public java.lang.String getCodec() {
        java.lang.Object ref = codec_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          codec_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string codec = 5;</code>
       * @return The bytes for codec.
       */
      public com.google.protobuf.ByteString
          getCodecBytes() {
        java.lang.Object ref = codec_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          codec_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string codec = 5;</code>
       * @param value The codec to set.
       * @return This builder for chaining.
       */
      public Builder setCodec(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        codec_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string codec = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearCodec() {
        
        codec_ = getDefaultInstance().getCodec();
        onChanged();
        return this;
      }
      /**
       * <code>string codec = 5;</code>
       * @param value The bytes for codec to set.
       * @return This builder for chaining.
       */
      public Builder setCodecBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        codec_ = value;
        onChanged();
        return this;
      }

      private boolean isKeyFrame_ ;
      /**
       * <code>bool is_key_frame = 6;</code>
       * @return The isKeyFrame.
       */
      @java.lang.Override
      public boolean getIsKeyFrame() {
        return isKeyFrame_;
      }
      /**
       * <code>bool is_key_frame = 6;</code>
       * @param value The isKeyFrame to set.
       * @return This builder for chaining.
       */
      public Builder setIsKeyFrame(boolean value) {
        
        isKeyFrame_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_key_frame = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsKeyFrame() {
        
        isKeyFrame_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.FrameData)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.FrameData)
    private static final cmvr.api.CameraCommand.FrameData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.FrameData();
    }

    public static cmvr.api.CameraCommand.FrameData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.FrameData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface Rs2IntrinsicsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.Rs2Intrinsics)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * 主点水平坐标（从左边缘的像素偏移）
     * </pre>
     *
     * <code>float cx = 1;</code>
     * @return The cx.
     */
    float getCx();

    /**
     * <pre>
     * 主点垂直坐标（从上边缘的像素偏移）
     * </pre>
     *
     * <code>float cy = 2;</code>
     * @return The cy.
     */
    float getCy();

    /**
     * <pre>
     * x方向焦距（像素宽度的倍数）
     * </pre>
     *
     * <code>float fx = 3;</code>
     * @return The fx.
     */
    float getFx();

    /**
     * <pre>
     * y方向焦距（像素高度的倍数）
     * </pre>
     *
     * <code>float fy = 4;</code>
     * @return The fy.
     */
    float getFy();

    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @return A list containing the coeffs.
     */
    java.util.List<java.lang.Float> getCoeffsList();
    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @return The count of coeffs.
     */
    int getCoeffsCount();
    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The coeffs at the given index.
     */
    float getCoeffs(int index);
  }
  /**
   * Protobuf type {@code cmvr.api.Rs2Intrinsics}
   */
  public static final class Rs2Intrinsics extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.Rs2Intrinsics)
      Rs2IntrinsicsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Rs2Intrinsics.newBuilder() to construct.
    private Rs2Intrinsics(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Rs2Intrinsics() {
      coeffs_ = emptyFloatList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_Rs2Intrinsics_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_Rs2Intrinsics_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.Rs2Intrinsics.class, cmvr.api.CameraCommand.Rs2Intrinsics.Builder.class);
    }

    public static final int CX_FIELD_NUMBER = 1;
    private float cx_;
    /**
     * <pre>
     * 主点水平坐标（从左边缘的像素偏移）
     * </pre>
     *
     * <code>float cx = 1;</code>
     * @return The cx.
     */
    @java.lang.Override
    public float getCx() {
      return cx_;
    }

    public static final int CY_FIELD_NUMBER = 2;
    private float cy_;
    /**
     * <pre>
     * 主点垂直坐标（从上边缘的像素偏移）
     * </pre>
     *
     * <code>float cy = 2;</code>
     * @return The cy.
     */
    @java.lang.Override
    public float getCy() {
      return cy_;
    }

    public static final int FX_FIELD_NUMBER = 3;
    private float fx_;
    /**
     * <pre>
     * x方向焦距（像素宽度的倍数）
     * </pre>
     *
     * <code>float fx = 3;</code>
     * @return The fx.
     */
    @java.lang.Override
    public float getFx() {
      return fx_;
    }

    public static final int FY_FIELD_NUMBER = 4;
    private float fy_;
    /**
     * <pre>
     * y方向焦距（像素高度的倍数）
     * </pre>
     *
     * <code>float fy = 4;</code>
     * @return The fy.
     */
    @java.lang.Override
    public float getFy() {
      return fy_;
    }

    public static final int COEFFS_FIELD_NUMBER = 5;
    private com.google.protobuf.Internal.FloatList coeffs_;
    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @return A list containing the coeffs.
     */
    @java.lang.Override
    public java.util.List<java.lang.Float>
        getCoeffsList() {
      return coeffs_;
    }
    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @return The count of coeffs.
     */
    public int getCoeffsCount() {
      return coeffs_.size();
    }
    /**
     * <pre>
     * 畸变系数（固定5个元素）
     * </pre>
     *
     * <code>repeated float coeffs = 5 [packed = true];</code>
     * @param index The index of the element to return.
     * @return The coeffs at the given index.
     */
    public float getCoeffs(int index) {
      return coeffs_.getFloat(index);
    }
    private int coeffsMemoizedSerializedSize = -1;

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (java.lang.Float.floatToRawIntBits(cx_) != 0) {
        output.writeFloat(1, cx_);
      }
      if (java.lang.Float.floatToRawIntBits(cy_) != 0) {
        output.writeFloat(2, cy_);
      }
      if (java.lang.Float.floatToRawIntBits(fx_) != 0) {
        output.writeFloat(3, fx_);
      }
      if (java.lang.Float.floatToRawIntBits(fy_) != 0) {
        output.writeFloat(4, fy_);
      }
      if (getCoeffsList().size() > 0) {
        output.writeUInt32NoTag(42);
        output.writeUInt32NoTag(coeffsMemoizedSerializedSize);
      }
      for (int i = 0; i < coeffs_.size(); i++) {
        output.writeFloatNoTag(coeffs_.getFloat(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (java.lang.Float.floatToRawIntBits(cx_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, cx_);
      }
      if (java.lang.Float.floatToRawIntBits(cy_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, cy_);
      }
      if (java.lang.Float.floatToRawIntBits(fx_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, fx_);
      }
      if (java.lang.Float.floatToRawIntBits(fy_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, fy_);
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCoeffsList().size();
        size += dataSize;
        if (!getCoeffsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        coeffsMemoizedSerializedSize = dataSize;
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.Rs2Intrinsics)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.Rs2Intrinsics other = (cmvr.api.CameraCommand.Rs2Intrinsics) obj;

      if (java.lang.Float.floatToIntBits(getCx())
          != java.lang.Float.floatToIntBits(
              other.getCx())) return false;
      if (java.lang.Float.floatToIntBits(getCy())
          != java.lang.Float.floatToIntBits(
              other.getCy())) return false;
      if (java.lang.Float.floatToIntBits(getFx())
          != java.lang.Float.floatToIntBits(
              other.getFx())) return false;
      if (java.lang.Float.floatToIntBits(getFy())
          != java.lang.Float.floatToIntBits(
              other.getFy())) return false;
      if (!getCoeffsList()
          .equals(other.getCoeffsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CX_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getCx());
      hash = (37 * hash) + CY_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getCy());
      hash = (37 * hash) + FX_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getFx());
      hash = (37 * hash) + FY_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getFy());
      if (getCoeffsCount() > 0) {
        hash = (37 * hash) + COEFFS_FIELD_NUMBER;
        hash = (53 * hash) + getCoeffsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.Rs2Intrinsics parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.Rs2Intrinsics prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.Rs2Intrinsics}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.Rs2Intrinsics)
        cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_Rs2Intrinsics_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_Rs2Intrinsics_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.Rs2Intrinsics.class, cmvr.api.CameraCommand.Rs2Intrinsics.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        cx_ = 0F;

        cy_ = 0F;

        fx_ = 0F;

        fy_ = 0F;

        coeffs_ = emptyFloatList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_Rs2Intrinsics_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics build() {
        cmvr.api.CameraCommand.Rs2Intrinsics result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics buildPartial() {
        cmvr.api.CameraCommand.Rs2Intrinsics result = new cmvr.api.CameraCommand.Rs2Intrinsics(this);
        int from_bitField0_ = bitField0_;
        result.cx_ = cx_;
        result.cy_ = cy_;
        result.fx_ = fx_;
        result.fy_ = fy_;
        if (((bitField0_ & 0x00000001) != 0)) {
          coeffs_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.coeffs_ = coeffs_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.Rs2Intrinsics) {
          return mergeFrom((cmvr.api.CameraCommand.Rs2Intrinsics)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.Rs2Intrinsics other) {
        if (other == cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance()) return this;
        if (other.getCx() != 0F) {
          setCx(other.getCx());
        }
        if (other.getCy() != 0F) {
          setCy(other.getCy());
        }
        if (other.getFx() != 0F) {
          setFx(other.getFx());
        }
        if (other.getFy() != 0F) {
          setFy(other.getFy());
        }
        if (!other.coeffs_.isEmpty()) {
          if (coeffs_.isEmpty()) {
            coeffs_ = other.coeffs_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureCoeffsIsMutable();
            coeffs_.addAll(other.coeffs_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

                break;
              } // case 13
              case 21: {
                cy_ = input.readFloat();

                break;
              } // case 21
              case 29: {
                fx_ = input.readFloat();

                break;
              } // case 29
              case 37: {
                fy_ = input.readFloat();

                break;
              } // case 37
              case 45: {
                float v = input.readFloat();
                ensureCoeffsIsMutable();
                coeffs_.addFloat(v);
                break;
              } // case 45
              case 42: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensureCoeffsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  coeffs_.addFloat(input.readFloat());
                }
                input.popLimit(limit);
                break;
              } // case 42
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private float cx_ ;
      /**
       * <pre>
       * 主点水平坐标（从左边缘的像素偏移）
       * </pre>
       *
       * <code>float cx = 1;</code>
       * @return The cx.
       */
      @java.lang.Override
      public float getCx() {
        return cx_;
      }
      /**
       * <pre>
       * 主点水平坐标（从左边缘的像素偏移）
       * </pre>
       *
       * <code>float cx = 1;</code>
       * @param value The cx to set.
       * @return This builder for chaining.
       */
      public Builder setCx(float value) {
        
        cx_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 主点水平坐标（从左边缘的像素偏移）
       * </pre>
       *
       * <code>float cx = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCx() {
        
        cx_ = 0F;
        onChanged();
        return this;
      }

      private float cy_ ;
      /**
       * <pre>
       * 主点垂直坐标（从上边缘的像素偏移）
       * </pre>
       *
       * <code>float cy = 2;</code>
       * @return The cy.
       */
      @java.lang.Override
      public float getCy() {
        return cy_;
      }
      /**
       * <pre>
       * 主点垂直坐标（从上边缘的像素偏移）
       * </pre>
       *
       * <code>float cy = 2;</code>
       * @param value The cy to set.
       * @return This builder for chaining.
       */
      public Builder setCy(float value) {
        
        cy_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 主点垂直坐标（从上边缘的像素偏移）
       * </pre>
       *
       * <code>float cy = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearCy() {
        
        cy_ = 0F;
        onChanged();
        return this;
      }

      private float fx_ ;
      /**
       * <pre>
       * x方向焦距（像素宽度的倍数）
       * </pre>
       *
       * <code>float fx = 3;</code>
       * @return The fx.
       */
      @java.lang.Override
      public float getFx() {
        return fx_;
      }
      /**
       * <pre>
       * x方向焦距（像素宽度的倍数）
       * </pre>
       *
       * <code>float fx = 3;</code>
       * @param value The fx to set.
       * @return This builder for chaining.
       */
      public Builder setFx(float value) {
        
        fx_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * x方向焦距（像素宽度的倍数）
       * </pre>
       *
       * <code>float fx = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFx() {
        
        fx_ = 0F;
        onChanged();
        return this;
      }

      private float fy_ ;
      /**
       * <pre>
       * y方向焦距（像素高度的倍数）
       * </pre>
       *
       * <code>float fy = 4;</code>
       * @return The fy.
       */
      @java.lang.Override
      public float getFy() {
        return fy_;
      }
      /**
       * <pre>
       * y方向焦距（像素高度的倍数）
       * </pre>
       *
       * <code>float fy = 4;</code>
       * @param value The fy to set.
       * @return This builder for chaining.
       */
      public Builder setFy(float value) {
        
        fy_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * y方向焦距（像素高度的倍数）
       * </pre>
       *
       * <code>float fy = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearFy() {
        
        fy_ = 0F;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.FloatList coeffs_ = emptyFloatList();
      private void ensureCoeffsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          coeffs_ = mutableCopy(coeffs_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @return A list containing the coeffs.
       */
      public java.util.List<java.lang.Float>
          getCoeffsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(coeffs_) : coeffs_;
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @return The count of coeffs.
       */
      public int getCoeffsCount() {
        return coeffs_.size();
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @param index The index of the element to return.
       * @return The coeffs at the given index.
       */
      public float getCoeffs(int index) {
        return coeffs_.getFloat(index);
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @param index The index to set the value at.
       * @param value The coeffs to set.
       * @return This builder for chaining.
       */
      public Builder setCoeffs(
          int index, float value) {
        ensureCoeffsIsMutable();
        coeffs_.setFloat(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @param value The coeffs to add.
       * @return This builder for chaining.
       */
      public Builder addCoeffs(float value) {
        ensureCoeffsIsMutable();
        coeffs_.addFloat(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @param values The coeffs to add.
       * @return This builder for chaining.
       */
      public Builder addAllCoeffs(
          java.lang.Iterable<? extends java.lang.Float> values) {
        ensureCoeffsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, coeffs_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 畸变系数（固定5个元素）
       * </pre>
       *
       * <code>repeated float coeffs = 5 [packed = true];</code>
       * @return This builder for chaining.
       */
      public Builder clearCoeffs() {
        coeffs_ = emptyFloatList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.Rs2Intrinsics)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.Rs2Intrinsics)
    private static final cmvr.api.CameraCommand.Rs2Intrinsics DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.Rs2Intrinsics();
    }

    public static cmvr.api.CameraCommand.Rs2Intrinsics getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.Rs2Intrinsics getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CameraStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.CameraState)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>bool is_initialized = 1;</code>
     * @return The isInitialized.
     */
    boolean getIsInitialized();

    /**
     * <code>bool is_opened = 2;</code>
     * @return The isOpened.
     */
    boolean getIsOpened();

    /**
     * <code>bool is_streaming = 3;</code>
     * @return The isStreaming.
     */
    boolean getIsStreaming();

    /**
     * <code>bool is_recording = 4;</code>
     * @return The isRecording.
     */
    boolean getIsRecording();

    /**
     * <code>bool is_error = 5;</code>
     * @return The isError.
     */
    boolean getIsError();

    /**
     * <code>string error_message = 6;</code>
     * @return The errorMessage.
     */
    java.lang.String getErrorMessage();
    /**
     * <code>string error_message = 6;</code>
     * @return The bytes for errorMessage.
     */
    com.google.protobuf.ByteString
        getErrorMessageBytes();

    /**
     * <code>int32 fps = 7;</code>
     * @return The fps.
     */
    int getFps();

    /**
     * <code>int32 width = 8;</code>
     * @return The width.
     */
    int getWidth();

    /**
     * <code>int32 height = 9;</code>
     * @return The height.
     */
    int getHeight();
  }
  /**
   * Protobuf type {@code cmvr.api.CameraState}
   */
  public static final class CameraState extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.CameraState)
      CameraStateOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CameraState.newBuilder() to construct.
    private CameraState(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CameraState() {
      errorMessage_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_CameraState_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_CameraState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.CameraState.class, cmvr.api.CameraCommand.CameraState.Builder.class);
    }

    public static final int IS_INITIALIZED_FIELD_NUMBER = 1;
    private boolean isInitialized_;
    /**
     * <code>bool is_initialized = 1;</code>
     * @return The isInitialized.
     */
    @java.lang.Override
    public boolean getIsInitialized() {
      return isInitialized_;
    }

    public static final int IS_OPENED_FIELD_NUMBER = 2;
    private boolean isOpened_;
    /**
     * <code>bool is_opened = 2;</code>
     * @return The isOpened.
     */
    @java.lang.Override
    public boolean getIsOpened() {
      return isOpened_;
    }

    public static final int IS_STREAMING_FIELD_NUMBER = 3;
    private boolean isStreaming_;
    /**
     * <code>bool is_streaming = 3;</code>
     * @return The isStreaming.
     */
    @java.lang.Override
    public boolean getIsStreaming() {
      return isStreaming_;
    }

    public static final int IS_RECORDING_FIELD_NUMBER = 4;
    private boolean isRecording_;
    /**
     * <code>bool is_recording = 4;</code>
     * @return The isRecording.
     */
    @java.lang.Override
    public boolean getIsRecording() {
      return isRecording_;
    }

    public static final int IS_ERROR_FIELD_NUMBER = 5;
    private boolean isError_;
    /**
     * <code>bool is_error = 5;</code>
     * @return The isError.
     */
    @java.lang.Override
    public boolean getIsError() {
      return isError_;
    }

    public static final int ERROR_MESSAGE_FIELD_NUMBER = 6;
    private volatile java.lang.Object errorMessage_;
    /**
     * <code>string error_message = 6;</code>
     * @return The errorMessage.
     */
    @java.lang.Override
    public java.lang.String getErrorMessage() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        errorMessage_ = s;
        return s;
      }
    }
    /**
     * <code>string error_message = 6;</code>
     * @return The bytes for errorMessage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getErrorMessageBytes() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorMessage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FPS_FIELD_NUMBER = 7;
    private int fps_;
    /**
     * <code>int32 fps = 7;</code>
     * @return The fps.
     */
    @java.lang.Override
    public int getFps() {
      return fps_;
    }

    public static final int WIDTH_FIELD_NUMBER = 8;
    private int width_;
    /**
     * <code>int32 width = 8;</code>
     * @return The width.
     */
    @java.lang.Override
    public int getWidth() {
      return width_;
    }

    public static final int HEIGHT_FIELD_NUMBER = 9;
    private int height_;
    /**
     * <code>int32 height = 9;</code>
     * @return The height.
     */
    @java.lang.Override
    public int getHeight() {
      return height_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (isInitialized_ != false) {
        output.writeBool(1, isInitialized_);
      }
      if (isOpened_ != false) {
        output.writeBool(2, isOpened_);
      }
      if (isStreaming_ != false) {
        output.writeBool(3, isStreaming_);
      }
      if (isRecording_ != false) {
        output.writeBool(4, isRecording_);
      }
      if (isError_ != false) {
        output.writeBool(5, isError_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(errorMessage_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, errorMessage_);
      }
      if (fps_ != 0) {
        output.writeInt32(7, fps_);
      }
      if (width_ != 0) {
        output.writeInt32(8, width_);
      }
      if (height_ != 0) {
        output.writeInt32(9, height_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (isInitialized_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isInitialized_);
      }
      if (isOpened_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, isOpened_);
      }
      if (isStreaming_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isStreaming_);
      }
      if (isRecording_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isRecording_);
      }
      if (isError_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, isError_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(errorMessage_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, errorMessage_);
      }
      if (fps_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, fps_);
      }
      if (width_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, width_);
      }
      if (height_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, height_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.CameraState)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.CameraState other = (cmvr.api.CameraCommand.CameraState) obj;

      if (getIsInitialized()
          != other.getIsInitialized()) return false;
      if (getIsOpened()
          != other.getIsOpened()) return false;
      if (getIsStreaming()
          != other.getIsStreaming()) return false;
      if (getIsRecording()
          != other.getIsRecording()) return false;
      if (getIsError()
          != other.getIsError()) return false;
      if (!getErrorMessage()
          .equals(other.getErrorMessage())) return false;
      if (getFps()
          != other.getFps()) return false;
      if (getWidth()
          != other.getWidth()) return false;
      if (getHeight()
          != other.getHeight()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + IS_INITIALIZED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsInitialized());
      hash = (37 * hash) + IS_OPENED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsOpened());
      hash = (37 * hash) + IS_STREAMING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsStreaming());
      hash = (37 * hash) + IS_RECORDING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsRecording());
      hash = (37 * hash) + IS_ERROR_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsError());
      hash = (37 * hash) + ERROR_MESSAGE_FIELD_NUMBER;
      hash = (53 * hash) + getErrorMessage().hashCode();
      hash = (37 * hash) + FPS_FIELD_NUMBER;
      hash = (53 * hash) + getFps();
      hash = (37 * hash) + WIDTH_FIELD_NUMBER;
      hash = (53 * hash) + getWidth();
      hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
      hash = (53 * hash) + getHeight();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static cmvr.api.CameraCommand.CameraState parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.CameraState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.CameraState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.CameraState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.CameraState prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.CameraState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.CameraState)
        cmvr.api.CameraCommand.CameraStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_CameraState_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_CameraState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.CameraState.class, cmvr.api.CameraCommand.CameraState.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.CameraState.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        isInitialized_ = false;

        isOpened_ = false;

        isStreaming_ = false;

        isRecording_ = false;

        isError_ = false;

        errorMessage_ = "";

        fps_ = 0;

        width_ = 0;

        height_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_CameraState_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.CameraState getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.CameraState.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.CameraState build() {
        cmvr.api.CameraCommand.CameraState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.CameraState buildPartial() {
        cmvr.api.CameraCommand.CameraState result = new cmvr.api.CameraCommand.CameraState(this);
        result.isInitialized_ = isInitialized_;
        result.isOpened_ = isOpened_;
        result.isStreaming_ = isStreaming_;
        result.isRecording_ = isRecording_;
        result.isError_ = isError_;
        result.errorMessage_ = errorMessage_;
        result.fps_ = fps_;
        result.width_ = width_;
        result.height_ = height_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.CameraState) {
          return mergeFrom((cmvr.api.CameraCommand.CameraState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.CameraState other) {
        if (other == cmvr.api.CameraCommand.CameraState.getDefaultInstance()) return this;
        if (other.getIsInitialized() != false) {
          setIsInitialized(other.getIsInitialized());
        }
        if (other.getIsOpened() != false) {
          setIsOpened(other.getIsOpened());
        }
        if (other.getIsStreaming() != false) {
          setIsStreaming(other.getIsStreaming());
        }
        if (other.getIsRecording() != false) {
          setIsRecording(other.getIsRecording());
        }
        if (other.getIsError() != false) {
          setIsError(other.getIsError());
        }
        if (!other.getErrorMessage().isEmpty()) {
          errorMessage_ = other.errorMessage_;
          onChanged();
        }
        if (other.getFps() != 0) {
          setFps(other.getFps());
        }
        if (other.getWidth() != 0) {
          setWidth(other.getWidth());
        }
        if (other.getHeight() != 0) {
          setHeight(other.getHeight());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

                break;
              } // case 8
              case 16: {
                isOpened_ = input.readBool();

                break;
              } // case 16
              case 24: {
                isStreaming_ = input.readBool();

                break;
              } // case 24
              case 32: {
                isRecording_ = input.readBool();

                break;
              } // case 32
              case 40: {
                isError_ = input.readBool();

                break;
              } // case 40
              case 50: {
                errorMessage_ = input.readStringRequireUtf8();

                break;
              } // case 50
              case 56: {
                fps_ = input.readInt32();

                break;
              } // case 56
              case 64: {
                width_ = input.readInt32();

                break;
              } // case 64
              case 72: {
                height_ = input.readInt32();

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

      private boolean isInitialized_ ;
      /**
       * <code>bool is_initialized = 1;</code>
       * @return The isInitialized.
       */
      @java.lang.Override
      public boolean getIsInitialized() {
        return isInitialized_;
      }
      /**
       * <code>bool is_initialized = 1;</code>
       * @param value The isInitialized to set.
       * @return This builder for chaining.
       */
      public Builder setIsInitialized(boolean value) {
        
        isInitialized_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_initialized = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsInitialized() {
        
        isInitialized_ = false;
        onChanged();
        return this;
      }

      private boolean isOpened_ ;
      /**
       * <code>bool is_opened = 2;</code>
       * @return The isOpened.
       */
      @java.lang.Override
      public boolean getIsOpened() {
        return isOpened_;
      }
      /**
       * <code>bool is_opened = 2;</code>
       * @param value The isOpened to set.
       * @return This builder for chaining.
       */
      public Builder setIsOpened(boolean value) {
        
        isOpened_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_opened = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsOpened() {
        
        isOpened_ = false;
        onChanged();
        return this;
      }

      private boolean isStreaming_ ;
      /**
       * <code>bool is_streaming = 3;</code>
       * @return The isStreaming.
       */
      @java.lang.Override
      public boolean getIsStreaming() {
        return isStreaming_;
      }
      /**
       * <code>bool is_streaming = 3;</code>
       * @param value The isStreaming to set.
       * @return This builder for chaining.
       */
      public Builder setIsStreaming(boolean value) {
        
        isStreaming_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_streaming = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsStreaming() {
        
        isStreaming_ = false;
        onChanged();
        return this;
      }

      private boolean isRecording_ ;
      /**
       * <code>bool is_recording = 4;</code>
       * @return The isRecording.
       */
      @java.lang.Override
      public boolean getIsRecording() {
        return isRecording_;
      }
      /**
       * <code>bool is_recording = 4;</code>
       * @param value The isRecording to set.
       * @return This builder for chaining.
       */
      public Builder setIsRecording(boolean value) {
        
        isRecording_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_recording = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsRecording() {
        
        isRecording_ = false;
        onChanged();
        return this;
      }

      private boolean isError_ ;
      /**
       * <code>bool is_error = 5;</code>
       * @return The isError.
       */
      @java.lang.Override
      public boolean getIsError() {
        return isError_;
      }
      /**
       * <code>bool is_error = 5;</code>
       * @param value The isError to set.
       * @return This builder for chaining.
       */
      public Builder setIsError(boolean value) {
        
        isError_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool is_error = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsError() {
        
        isError_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object errorMessage_ = "";
      /**
       * <code>string error_message = 6;</code>
       * @return The errorMessage.
       */
      public java.lang.String getErrorMessage() {
        java.lang.Object ref = errorMessage_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          errorMessage_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string error_message = 6;</code>
       * @return The bytes for errorMessage.
       */
      public com.google.protobuf.ByteString
          getErrorMessageBytes() {
        java.lang.Object ref = errorMessage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorMessage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string error_message = 6;</code>
       * @param value The errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        errorMessage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string error_message = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearErrorMessage() {
        
        errorMessage_ = getDefaultInstance().getErrorMessage();
        onChanged();
        return this;
      }
      /**
       * <code>string error_message = 6;</code>
       * @param value The bytes for errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        errorMessage_ = value;
        onChanged();
        return this;
      }

      private int fps_ ;
      /**
       * <code>int32 fps = 7;</code>
       * @return The fps.
       */
      @java.lang.Override
      public int getFps() {
        return fps_;
      }
      /**
       * <code>int32 fps = 7;</code>
       * @param value The fps to set.
       * @return This builder for chaining.
       */
      public Builder setFps(int value) {
        
        fps_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 fps = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearFps() {
        
        fps_ = 0;
        onChanged();
        return this;
      }

      private int width_ ;
      /**
       * <code>int32 width = 8;</code>
       * @return The width.
       */
      @java.lang.Override
      public int getWidth() {
        return width_;
      }
      /**
       * <code>int32 width = 8;</code>
       * @param value The width to set.
       * @return This builder for chaining.
       */
      public Builder setWidth(int value) {
        
        width_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 width = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearWidth() {
        
        width_ = 0;
        onChanged();
        return this;
      }

      private int height_ ;
      /**
       * <code>int32 height = 9;</code>
       * @return The height.
       */
      @java.lang.Override
      public int getHeight() {
        return height_;
      }
      /**
       * <code>int32 height = 9;</code>
       * @param value The height to set.
       * @return This builder for chaining.
       */
      public Builder setHeight(int value) {
        
        height_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 height = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearHeight() {
        
        height_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.CameraState)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.CameraState)
    private static final cmvr.api.CameraCommand.CameraState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.CameraState();
    }

    public static cmvr.api.CameraCommand.CameraState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.CameraState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetCameraStateCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetCameraStateCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetCameraStateCommand}
   */
  public static final class GetCameraStateCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetCameraStateCommand)
      GetCameraStateCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetCameraStateCommand.newBuilder() to construct.
    private GetCameraStateCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetCameraStateCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetCameraStateCommand.class, cmvr.api.CameraCommand.GetCameraStateCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetCameraStateCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetCameraStateCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetCameraStateCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetCameraStateCommand.Request.class, cmvr.api.CameraCommand.GetCameraStateCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetCameraStateCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetCameraStateCommand.Request other = (cmvr.api.CameraCommand.GetCameraStateCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetCameraStateCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetCameraStateCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetCameraStateCommand.Request)
          cmvr.api.CameraCommand.GetCameraStateCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetCameraStateCommand.Request.class, cmvr.api.CameraCommand.GetCameraStateCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetCameraStateCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetCameraStateCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Request build() {
          cmvr.api.CameraCommand.GetCameraStateCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetCameraStateCommand.Request result = new cmvr.api.CameraCommand.GetCameraStateCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetCameraStateCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetCameraStateCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetCameraStateCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetCameraStateCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetCameraStateCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetCameraStateCommand.Request)
      private static final cmvr.api.CameraCommand.GetCameraStateCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetCameraStateCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetCameraStateCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetCameraStateCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetCameraStateCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       * @return Whether the state field is set.
       */
      boolean hasState();
      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       * @return The state.
       */
      cmvr.api.CameraCommand.CameraState getState();
      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       */
      cmvr.api.CameraCommand.CameraStateOrBuilder getStateOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetCameraStateCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetCameraStateCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.class, cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int STATE_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.CameraState state_;
      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       * @return Whether the state field is set.
       */
      @java.lang.Override
      public boolean hasState() {
        return state_ != null;
      }
      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       * @return The state.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.CameraState getState() {
        return state_ == null ? cmvr.api.CameraCommand.CameraState.getDefaultInstance() : state_;
      }
      /**
       * <code>.cmvr.api.CameraState state = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.CameraStateOrBuilder getStateOrBuilder() {
        return getState();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (state_ != null) {
          output.writeMessage(2, getState());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (state_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getState());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetCameraStateCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetCameraStateCommand.Feedback other = (cmvr.api.CameraCommand.GetCameraStateCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasState() != other.hasState()) return false;
        if (hasState()) {
          if (!getState()
              .equals(other.getState())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasState()) {
          hash = (37 * hash) + STATE_FIELD_NUMBER;
          hash = (53 * hash) + getState().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetCameraStateCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetCameraStateCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetCameraStateCommand.Feedback)
          cmvr.api.CameraCommand.GetCameraStateCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.class, cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (stateBuilder_ == null) {
            state_ = null;
          } else {
            state_ = null;
            stateBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Feedback build() {
          cmvr.api.CameraCommand.GetCameraStateCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetCameraStateCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetCameraStateCommand.Feedback result = new cmvr.api.CameraCommand.GetCameraStateCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (stateBuilder_ == null) {
            result.state_ = state_;
          } else {
            result.state_ = stateBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetCameraStateCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetCameraStateCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetCameraStateCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetCameraStateCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasState()) {
            mergeState(other.getState());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getStateFieldBuilder().getBuilder(),
                      extensionRegistry);

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.CameraState state_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.CameraState, cmvr.api.CameraCommand.CameraState.Builder, cmvr.api.CameraCommand.CameraStateOrBuilder> stateBuilder_;
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         * @return Whether the state field is set.
         */
        public boolean hasState() {
          return stateBuilder_ != null || state_ != null;
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         * @return The state.
         */
        public cmvr.api.CameraCommand.CameraState getState() {
          if (stateBuilder_ == null) {
            return state_ == null ? cmvr.api.CameraCommand.CameraState.getDefaultInstance() : state_;
          } else {
            return stateBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public Builder setState(cmvr.api.CameraCommand.CameraState value) {
          if (stateBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            state_ = value;
            onChanged();
          } else {
            stateBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public Builder setState(
            cmvr.api.CameraCommand.CameraState.Builder builderForValue) {
          if (stateBuilder_ == null) {
            state_ = builderForValue.build();
            onChanged();
          } else {
            stateBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public Builder mergeState(cmvr.api.CameraCommand.CameraState value) {
          if (stateBuilder_ == null) {
            if (state_ != null) {
              state_ =
                cmvr.api.CameraCommand.CameraState.newBuilder(state_).mergeFrom(value).buildPartial();
            } else {
              state_ = value;
            }
            onChanged();
          } else {
            stateBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public Builder clearState() {
          if (stateBuilder_ == null) {
            state_ = null;
            onChanged();
          } else {
            state_ = null;
            stateBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public cmvr.api.CameraCommand.CameraState.Builder getStateBuilder() {
          
          onChanged();
          return getStateFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        public cmvr.api.CameraCommand.CameraStateOrBuilder getStateOrBuilder() {
          if (stateBuilder_ != null) {
            return stateBuilder_.getMessageOrBuilder();
          } else {
            return state_ == null ?
                cmvr.api.CameraCommand.CameraState.getDefaultInstance() : state_;
          }
        }
        /**
         * <code>.cmvr.api.CameraState state = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.CameraState, cmvr.api.CameraCommand.CameraState.Builder, cmvr.api.CameraCommand.CameraStateOrBuilder> 
            getStateFieldBuilder() {
          if (stateBuilder_ == null) {
            stateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.CameraState, cmvr.api.CameraCommand.CameraState.Builder, cmvr.api.CameraCommand.CameraStateOrBuilder>(
                    getState(),
                    getParentForChildren(),
                    isClean());
            state_ = null;
          }
          return stateBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetCameraStateCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetCameraStateCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetCameraStateCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetCameraStateCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetCameraStateCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetCameraStateCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetCameraStateCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetCameraStateCommand other = (cmvr.api.CameraCommand.GetCameraStateCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetCameraStateCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetCameraStateCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetCameraStateCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetCameraStateCommand)
        cmvr.api.CameraCommand.GetCameraStateCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetCameraStateCommand.class, cmvr.api.CameraCommand.GetCameraStateCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetCameraStateCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetCameraStateCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetCameraStateCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetCameraStateCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetCameraStateCommand build() {
        cmvr.api.CameraCommand.GetCameraStateCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetCameraStateCommand buildPartial() {
        cmvr.api.CameraCommand.GetCameraStateCommand result = new cmvr.api.CameraCommand.GetCameraStateCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetCameraStateCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetCameraStateCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetCameraStateCommand other) {
        if (other == cmvr.api.CameraCommand.GetCameraStateCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetCameraStateCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetCameraStateCommand)
    private static final cmvr.api.CameraCommand.GetCameraStateCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetCameraStateCommand();
    }

    public static cmvr.api.CameraCommand.GetCameraStateCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetCameraStateCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StartCameraCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.StartCameraCommand}
   */
  public static final class StartCameraCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraCommand)
      StartCameraCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StartCameraCommand.newBuilder() to construct.
    private StartCameraCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StartCameraCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.StartCameraCommand.class, cmvr.api.CameraCommand.StartCameraCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraCommand.Request.class, cmvr.api.CameraCommand.StartCameraCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StartCameraCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StartCameraCommand.Request other = (cmvr.api.CameraCommand.StartCameraCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StartCameraCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraCommand.Request)
          cmvr.api.CameraCommand.StartCameraCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StartCameraCommand.Request.class, cmvr.api.CameraCommand.StartCameraCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StartCameraCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StartCameraCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Request build() {
          cmvr.api.CameraCommand.StartCameraCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Request buildPartial() {
          cmvr.api.CameraCommand.StartCameraCommand.Request result = new cmvr.api.CameraCommand.StartCameraCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StartCameraCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.StartCameraCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraCommand.Request other) {
          if (other == cmvr.api.CameraCommand.StartCameraCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraCommand.Request)
      private static final cmvr.api.CameraCommand.StartCameraCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraCommand.Request();
      }

      public static cmvr.api.CameraCommand.StartCameraCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraCommand.Feedback.class, cmvr.api.CameraCommand.StartCameraCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StartCameraCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StartCameraCommand.Feedback other = (cmvr.api.CameraCommand.StartCameraCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StartCameraCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraCommand.Feedback)
          cmvr.api.CameraCommand.StartCameraCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StartCameraCommand.Feedback.class, cmvr.api.CameraCommand.StartCameraCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StartCameraCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StartCameraCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Feedback build() {
          cmvr.api.CameraCommand.StartCameraCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.StartCameraCommand.Feedback result = new cmvr.api.CameraCommand.StartCameraCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StartCameraCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.StartCameraCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.StartCameraCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraCommand.Feedback)
      private static final cmvr.api.CameraCommand.StartCameraCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.StartCameraCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.StartCameraCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.StartCameraCommand other = (cmvr.api.CameraCommand.StartCameraCommand) obj;

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

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

    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraCommand)
        cmvr.api.CameraCommand.StartCameraCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraCommand.class, cmvr.api.CameraCommand.StartCameraCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.StartCameraCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.StartCameraCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraCommand build() {
        cmvr.api.CameraCommand.StartCameraCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraCommand buildPartial() {
        cmvr.api.CameraCommand.StartCameraCommand result = new cmvr.api.CameraCommand.StartCameraCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.StartCameraCommand) {
          return mergeFrom((cmvr.api.CameraCommand.StartCameraCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraCommand other) {
        if (other == cmvr.api.CameraCommand.StartCameraCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraCommand)
    private static final cmvr.api.CameraCommand.StartCameraCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraCommand();
    }

    public static cmvr.api.CameraCommand.StartCameraCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.StartCameraCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StopCameraCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.StopCameraCommand}
   */
  public static final class StopCameraCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraCommand)
      StopCameraCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StopCameraCommand.newBuilder() to construct.
    private StopCameraCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StopCameraCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.StopCameraCommand.class, cmvr.api.CameraCommand.StopCameraCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraCommand.Request.class, cmvr.api.CameraCommand.StopCameraCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StopCameraCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StopCameraCommand.Request other = (cmvr.api.CameraCommand.StopCameraCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StopCameraCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraCommand.Request)
          cmvr.api.CameraCommand.StopCameraCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StopCameraCommand.Request.class, cmvr.api.CameraCommand.StopCameraCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StopCameraCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StopCameraCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Request build() {
          cmvr.api.CameraCommand.StopCameraCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Request buildPartial() {
          cmvr.api.CameraCommand.StopCameraCommand.Request result = new cmvr.api.CameraCommand.StopCameraCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StopCameraCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.StopCameraCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraCommand.Request other) {
          if (other == cmvr.api.CameraCommand.StopCameraCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraCommand.Request)
      private static final cmvr.api.CameraCommand.StopCameraCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraCommand.Request();
      }

      public static cmvr.api.CameraCommand.StopCameraCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraCommand.Feedback.class, cmvr.api.CameraCommand.StopCameraCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StopCameraCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StopCameraCommand.Feedback other = (cmvr.api.CameraCommand.StopCameraCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StopCameraCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraCommand.Feedback)
          cmvr.api.CameraCommand.StopCameraCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StopCameraCommand.Feedback.class, cmvr.api.CameraCommand.StopCameraCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StopCameraCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StopCameraCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Feedback build() {
          cmvr.api.CameraCommand.StopCameraCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.StopCameraCommand.Feedback result = new cmvr.api.CameraCommand.StopCameraCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StopCameraCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.StopCameraCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.StopCameraCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraCommand.Feedback)
      private static final cmvr.api.CameraCommand.StopCameraCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.StopCameraCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.StopCameraCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.StopCameraCommand other = (cmvr.api.CameraCommand.StopCameraCommand) obj;

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

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

    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraCommand)
        cmvr.api.CameraCommand.StopCameraCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraCommand.class, cmvr.api.CameraCommand.StopCameraCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.StopCameraCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.StopCameraCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraCommand build() {
        cmvr.api.CameraCommand.StopCameraCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraCommand buildPartial() {
        cmvr.api.CameraCommand.StopCameraCommand result = new cmvr.api.CameraCommand.StopCameraCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.StopCameraCommand) {
          return mergeFrom((cmvr.api.CameraCommand.StopCameraCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraCommand other) {
        if (other == cmvr.api.CameraCommand.StopCameraCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraCommand)
    private static final cmvr.api.CameraCommand.StopCameraCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraCommand();
    }

    public static cmvr.api.CameraCommand.StopCameraCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.StopCameraCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetRGBImageCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetRGBImageCommand}
   */
  public static final class GetRGBImageCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageCommand)
      GetRGBImageCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetRGBImageCommand.newBuilder() to construct.
    private GetRGBImageCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetRGBImageCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetRGBImageCommand.class, cmvr.api.CameraCommand.GetRGBImageCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageCommand.Request.class, cmvr.api.CameraCommand.GetRGBImageCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBImageCommand.Request other = (cmvr.api.CameraCommand.GetRGBImageCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBImageCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageCommand.Request)
          cmvr.api.CameraCommand.GetRGBImageCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBImageCommand.Request.class, cmvr.api.CameraCommand.GetRGBImageCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBImageCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBImageCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Request build() {
          cmvr.api.CameraCommand.GetRGBImageCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetRGBImageCommand.Request result = new cmvr.api.CameraCommand.GetRGBImageCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBImageCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBImageCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetRGBImageCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageCommand.Request)
      private static final cmvr.api.CameraCommand.GetRGBImageCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetRGBImageCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      boolean hasColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      cmvr.api.CameraCommand.FrameData getColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int COLOR_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData colorFrame_;
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      @java.lang.Override
      public boolean hasColorFrame() {
        return colorFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getColorFrame() {
        return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
        return getColorFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (colorFrame_ != null) {
          output.writeMessage(2, getColorFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(3, getIntrinsics());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (colorFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getColorFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getIntrinsics());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBImageCommand.Feedback other = (cmvr.api.CameraCommand.GetRGBImageCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasColorFrame() != other.hasColorFrame()) return false;
        if (hasColorFrame()) {
          if (!getColorFrame()
              .equals(other.getColorFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasColorFrame()) {
          hash = (37 * hash) + COLOR_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getColorFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBImageCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageCommand.Feedback)
          cmvr.api.CameraCommand.GetRGBImageCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Feedback build() {
          cmvr.api.CameraCommand.GetRGBImageCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetRGBImageCommand.Feedback result = new cmvr.api.CameraCommand.GetRGBImageCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (colorFrameBuilder_ == null) {
            result.colorFrame_ = colorFrame_;
          } else {
            result.colorFrame_ = colorFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBImageCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBImageCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetRGBImageCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasColorFrame()) {
            mergeColorFrame(other.getColorFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getColorFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData colorFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> colorFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return Whether the colorFrame field is set.
         */
        public boolean hasColorFrame() {
          return colorFrameBuilder_ != null || colorFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return The colorFrame.
         */
        public cmvr.api.CameraCommand.FrameData getColorFrame() {
          if (colorFrameBuilder_ == null) {
            return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          } else {
            return colorFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            colorFrame_ = value;
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = builderForValue.build();
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder mergeColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (colorFrame_ != null) {
              colorFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(colorFrame_).mergeFrom(value).buildPartial();
            } else {
              colorFrame_ = value;
            }
            onChanged();
          } else {
            colorFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder clearColorFrame() {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
            onChanged();
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getColorFrameBuilder() {
          
          onChanged();
          return getColorFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
          if (colorFrameBuilder_ != null) {
            return colorFrameBuilder_.getMessageOrBuilder();
          } else {
            return colorFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getColorFrameFieldBuilder() {
          if (colorFrameBuilder_ == null) {
            colorFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getColorFrame(),
                    getParentForChildren(),
                    isClean());
            colorFrame_ = null;
          }
          return colorFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetRGBImageCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetRGBImageCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetRGBImageCommand other = (cmvr.api.CameraCommand.GetRGBImageCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageCommand)
        cmvr.api.CameraCommand.GetRGBImageCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageCommand.class, cmvr.api.CameraCommand.GetRGBImageCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetRGBImageCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetRGBImageCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageCommand build() {
        cmvr.api.CameraCommand.GetRGBImageCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageCommand buildPartial() {
        cmvr.api.CameraCommand.GetRGBImageCommand result = new cmvr.api.CameraCommand.GetRGBImageCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetRGBImageCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetRGBImageCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageCommand other) {
        if (other == cmvr.api.CameraCommand.GetRGBImageCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageCommand)
    private static final cmvr.api.CameraCommand.GetRGBImageCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageCommand();
    }

    public static cmvr.api.CameraCommand.GetRGBImageCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetRGBImageCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetDepthImageCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetDepthImageCommand}
   */
  public static final class GetDepthImageCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageCommand)
      GetDepthImageCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetDepthImageCommand.newBuilder() to construct.
    private GetDepthImageCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetDepthImageCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetDepthImageCommand.class, cmvr.api.CameraCommand.GetDepthImageCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageCommand.Request.class, cmvr.api.CameraCommand.GetDepthImageCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetDepthImageCommand.Request other = (cmvr.api.CameraCommand.GetDepthImageCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetDepthImageCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageCommand.Request)
          cmvr.api.CameraCommand.GetDepthImageCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetDepthImageCommand.Request.class, cmvr.api.CameraCommand.GetDepthImageCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetDepthImageCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetDepthImageCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Request build() {
          cmvr.api.CameraCommand.GetDepthImageCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetDepthImageCommand.Request result = new cmvr.api.CameraCommand.GetDepthImageCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetDepthImageCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetDepthImageCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetDepthImageCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageCommand.Request)
      private static final cmvr.api.CameraCommand.GetDepthImageCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetDepthImageCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return Whether the depthFrame field is set.
       */
      boolean hasDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return The depthFrame.
       */
      cmvr.api.CameraCommand.FrameData getDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.class, cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int DEPTH_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData depthFrame_;
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return Whether the depthFrame field is set.
       */
      @java.lang.Override
      public boolean hasDepthFrame() {
        return depthFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return The depthFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getDepthFrame() {
        return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
        return getDepthFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (depthFrame_ != null) {
          output.writeMessage(2, getDepthFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(3, getIntrinsics());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (depthFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getDepthFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getIntrinsics());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetDepthImageCommand.Feedback other = (cmvr.api.CameraCommand.GetDepthImageCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasDepthFrame() != other.hasDepthFrame()) return false;
        if (hasDepthFrame()) {
          if (!getDepthFrame()
              .equals(other.getDepthFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasDepthFrame()) {
          hash = (37 * hash) + DEPTH_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getDepthFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetDepthImageCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageCommand.Feedback)
          cmvr.api.CameraCommand.GetDepthImageCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.class, cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Feedback build() {
          cmvr.api.CameraCommand.GetDepthImageCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetDepthImageCommand.Feedback result = new cmvr.api.CameraCommand.GetDepthImageCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (depthFrameBuilder_ == null) {
            result.depthFrame_ = depthFrame_;
          } else {
            result.depthFrame_ = depthFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetDepthImageCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetDepthImageCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetDepthImageCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasDepthFrame()) {
            mergeDepthFrame(other.getDepthFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getDepthFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData depthFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> depthFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         * @return Whether the depthFrame field is set.
         */
        public boolean hasDepthFrame() {
          return depthFrameBuilder_ != null || depthFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         * @return The depthFrame.
         */
        public cmvr.api.CameraCommand.FrameData getDepthFrame() {
          if (depthFrameBuilder_ == null) {
            return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          } else {
            return depthFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder setDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            depthFrame_ = value;
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder setDepthFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = builderForValue.build();
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder mergeDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (depthFrame_ != null) {
              depthFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(depthFrame_).mergeFrom(value).buildPartial();
            } else {
              depthFrame_ = value;
            }
            onChanged();
          } else {
            depthFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder clearDepthFrame() {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
            onChanged();
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getDepthFrameBuilder() {
          
          onChanged();
          return getDepthFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
          if (depthFrameBuilder_ != null) {
            return depthFrameBuilder_.getMessageOrBuilder();
          } else {
            return depthFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getDepthFrameFieldBuilder() {
          if (depthFrameBuilder_ == null) {
            depthFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getDepthFrame(),
                    getParentForChildren(),
                    isClean());
            depthFrame_ = null;
          }
          return depthFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetDepthImageCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetDepthImageCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetDepthImageCommand other = (cmvr.api.CameraCommand.GetDepthImageCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageCommand)
        cmvr.api.CameraCommand.GetDepthImageCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageCommand.class, cmvr.api.CameraCommand.GetDepthImageCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetDepthImageCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetDepthImageCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageCommand build() {
        cmvr.api.CameraCommand.GetDepthImageCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageCommand buildPartial() {
        cmvr.api.CameraCommand.GetDepthImageCommand result = new cmvr.api.CameraCommand.GetDepthImageCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetDepthImageCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetDepthImageCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageCommand other) {
        if (other == cmvr.api.CameraCommand.GetDepthImageCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageCommand)
    private static final cmvr.api.CameraCommand.GetDepthImageCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageCommand();
    }

    public static cmvr.api.CameraCommand.GetDepthImageCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetDepthImageCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetRGBDImagesCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetRGBDImagesCommand}
   */
  public static final class GetRGBDImagesCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesCommand)
      GetRGBDImagesCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetRGBDImagesCommand.newBuilder() to construct.
    private GetRGBDImagesCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetRGBDImagesCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetRGBDImagesCommand.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBDImagesCommand.Request other = (cmvr.api.CameraCommand.GetRGBDImagesCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBDImagesCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesCommand.Request)
          cmvr.api.CameraCommand.GetRGBDImagesCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Request build() {
          cmvr.api.CameraCommand.GetRGBDImagesCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetRGBDImagesCommand.Request result = new cmvr.api.CameraCommand.GetRGBDImagesCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetRGBDImagesCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesCommand.Request)
      private static final cmvr.api.CameraCommand.GetRGBDImagesCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      boolean hasColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      cmvr.api.CameraCommand.FrameData getColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder();

      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return Whether the depthFrame field is set.
       */
      boolean hasDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return The depthFrame.
       */
      cmvr.api.CameraCommand.FrameData getDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int COLOR_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData colorFrame_;
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      @java.lang.Override
      public boolean hasColorFrame() {
        return colorFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getColorFrame() {
        return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
        return getColorFrame();
      }

      public static final int DEPTH_FRAME_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.FrameData depthFrame_;
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return Whether the depthFrame field is set.
       */
      @java.lang.Override
      public boolean hasDepthFrame() {
        return depthFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return The depthFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getDepthFrame() {
        return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
        return getDepthFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 4;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (colorFrame_ != null) {
          output.writeMessage(2, getColorFrame());
        }
        if (depthFrame_ != null) {
          output.writeMessage(3, getDepthFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(4, getIntrinsics());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (colorFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getColorFrame());
        }
        if (depthFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getDepthFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, getIntrinsics());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback other = (cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasColorFrame() != other.hasColorFrame()) return false;
        if (hasColorFrame()) {
          if (!getColorFrame()
              .equals(other.getColorFrame())) return false;
        }
        if (hasDepthFrame() != other.hasDepthFrame()) return false;
        if (hasDepthFrame()) {
          if (!getDepthFrame()
              .equals(other.getDepthFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasColorFrame()) {
          hash = (37 * hash) + COLOR_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getColorFrame().hashCode();
        }
        if (hasDepthFrame()) {
          hash = (37 * hash) + DEPTH_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getDepthFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBDImagesCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesCommand.Feedback)
          cmvr.api.CameraCommand.GetRGBDImagesCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback build() {
          cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback result = new cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (colorFrameBuilder_ == null) {
            result.colorFrame_ = colorFrame_;
          } else {
            result.colorFrame_ = colorFrameBuilder_.build();
          }
          if (depthFrameBuilder_ == null) {
            result.depthFrame_ = depthFrame_;
          } else {
            result.depthFrame_ = depthFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasColorFrame()) {
            mergeColorFrame(other.getColorFrame());
          }
          if (other.hasDepthFrame()) {
            mergeDepthFrame(other.getDepthFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getColorFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getDepthFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 26
                case 34: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData colorFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> colorFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return Whether the colorFrame field is set.
         */
        public boolean hasColorFrame() {
          return colorFrameBuilder_ != null || colorFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return The colorFrame.
         */
        public cmvr.api.CameraCommand.FrameData getColorFrame() {
          if (colorFrameBuilder_ == null) {
            return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          } else {
            return colorFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            colorFrame_ = value;
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = builderForValue.build();
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder mergeColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (colorFrame_ != null) {
              colorFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(colorFrame_).mergeFrom(value).buildPartial();
            } else {
              colorFrame_ = value;
            }
            onChanged();
          } else {
            colorFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder clearColorFrame() {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
            onChanged();
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getColorFrameBuilder() {
          
          onChanged();
          return getColorFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
          if (colorFrameBuilder_ != null) {
            return colorFrameBuilder_.getMessageOrBuilder();
          } else {
            return colorFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getColorFrameFieldBuilder() {
          if (colorFrameBuilder_ == null) {
            colorFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getColorFrame(),
                    getParentForChildren(),
                    isClean());
            colorFrame_ = null;
          }
          return colorFrameBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData depthFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> depthFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         * @return Whether the depthFrame field is set.
         */
        public boolean hasDepthFrame() {
          return depthFrameBuilder_ != null || depthFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         * @return The depthFrame.
         */
        public cmvr.api.CameraCommand.FrameData getDepthFrame() {
          if (depthFrameBuilder_ == null) {
            return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          } else {
            return depthFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder setDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            depthFrame_ = value;
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder setDepthFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = builderForValue.build();
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder mergeDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (depthFrame_ != null) {
              depthFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(depthFrame_).mergeFrom(value).buildPartial();
            } else {
              depthFrame_ = value;
            }
            onChanged();
          } else {
            depthFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder clearDepthFrame() {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
            onChanged();
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getDepthFrameBuilder() {
          
          onChanged();
          return getDepthFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
          if (depthFrameBuilder_ != null) {
            return depthFrameBuilder_.getMessageOrBuilder();
          } else {
            return depthFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getDepthFrameFieldBuilder() {
          if (depthFrameBuilder_ == null) {
            depthFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getDepthFrame(),
                    getParentForChildren(),
                    isClean());
            depthFrame_ = null;
          }
          return depthFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetRGBDImagesCommand other = (cmvr.api.CameraCommand.GetRGBDImagesCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesCommand)
        cmvr.api.CameraCommand.GetRGBDImagesCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesCommand.class, cmvr.api.CameraCommand.GetRGBDImagesCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetRGBDImagesCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetRGBDImagesCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesCommand build() {
        cmvr.api.CameraCommand.GetRGBDImagesCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesCommand buildPartial() {
        cmvr.api.CameraCommand.GetRGBDImagesCommand result = new cmvr.api.CameraCommand.GetRGBDImagesCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesCommand other) {
        if (other == cmvr.api.CameraCommand.GetRGBDImagesCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesCommand)
    private static final cmvr.api.CameraCommand.GetRGBDImagesCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesCommand();
    }

    public static cmvr.api.CameraCommand.GetRGBDImagesCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetRGBDImagesCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StartCameraRecordingCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraRecordingCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.StartCameraRecordingCommand}
   */
  public static final class StartCameraRecordingCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraRecordingCommand)
      StartCameraRecordingCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StartCameraRecordingCommand.newBuilder() to construct.
    private StartCameraRecordingCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StartCameraRecordingCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.StartCameraRecordingCommand.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraRecordingCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();

      /**
       * <code>string video_path = 2;</code>
       * @return The videoPath.
       */
      java.lang.String getVideoPath();
      /**
       * <code>string video_path = 2;</code>
       * @return The bytes for videoPath.
       */
      com.google.protobuf.ByteString
          getVideoPathBytes();
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraRecordingCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraRecordingCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
        videoPath_ = "";
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int VIDEO_PATH_FIELD_NUMBER = 2;
      private volatile java.lang.Object videoPath_;
      /**
       * <code>string video_path = 2;</code>
       * @return The videoPath.
       */
      @java.lang.Override
      public java.lang.String getVideoPath() {
        java.lang.Object ref = videoPath_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          videoPath_ = s;
          return s;
        }
      }
      /**
       * <code>string video_path = 2;</code>
       * @return The bytes for videoPath.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getVideoPathBytes() {
        java.lang.Object ref = videoPath_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          videoPath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(videoPath_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, videoPath_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(videoPath_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, videoPath_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StartCameraRecordingCommand.Request other = (cmvr.api.CameraCommand.StartCameraRecordingCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getVideoPath()
            .equals(other.getVideoPath())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraRecordingCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StartCameraRecordingCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraRecordingCommand.Request)
          cmvr.api.CameraCommand.StartCameraRecordingCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          videoPath_ = "";

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Request build() {
          cmvr.api.CameraCommand.StartCameraRecordingCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Request buildPartial() {
          cmvr.api.CameraCommand.StartCameraRecordingCommand.Request result = new cmvr.api.CameraCommand.StartCameraRecordingCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          result.videoPath_ = videoPath_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.StartCameraRecordingCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraRecordingCommand.Request other) {
          if (other == cmvr.api.CameraCommand.StartCameraRecordingCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (!other.getVideoPath().isEmpty()) {
            videoPath_ = other.videoPath_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  videoPath_ = input.readStringRequireUtf8();

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private java.lang.Object videoPath_ = "";
        /**
         * <code>string video_path = 2;</code>
         * @return The videoPath.
         */
        public java.lang.String getVideoPath() {
          java.lang.Object ref = videoPath_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            videoPath_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string video_path = 2;</code>
         * @return The bytes for videoPath.
         */
        public com.google.protobuf.ByteString
            getVideoPathBytes() {
          java.lang.Object ref = videoPath_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            videoPath_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string video_path = 2;</code>
         * @param value The videoPath to set.
         * @return This builder for chaining.
         */
        public Builder setVideoPath(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          videoPath_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>string video_path = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearVideoPath() {
          
          videoPath_ = getDefaultInstance().getVideoPath();
          onChanged();
          return this;
        }
        /**
         * <code>string video_path = 2;</code>
         * @param value The bytes for videoPath to set.
         * @return This builder for chaining.
         */
        public Builder setVideoPathBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
          
          videoPath_ = value;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraRecordingCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraRecordingCommand.Request)
      private static final cmvr.api.CameraCommand.StartCameraRecordingCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraRecordingCommand.Request();
      }

      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraRecordingCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StartCameraRecordingCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraRecordingCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StartCameraRecordingCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback other = (cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StartCameraRecordingCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraRecordingCommand.Feedback)
          cmvr.api.CameraCommand.StartCameraRecordingCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback build() {
          cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback result = new cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraRecordingCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraRecordingCommand.Feedback)
      private static final cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraRecordingCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.StartCameraRecordingCommand other = (cmvr.api.CameraCommand.StartCameraRecordingCommand) obj;

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

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

    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StartCameraRecordingCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.StartCameraRecordingCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.StartCameraRecordingCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.StartCameraRecordingCommand)
        cmvr.api.CameraCommand.StartCameraRecordingCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StartCameraRecordingCommand.class, cmvr.api.CameraCommand.StartCameraRecordingCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.StartCameraRecordingCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StartCameraRecordingCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraRecordingCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.StartCameraRecordingCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraRecordingCommand build() {
        cmvr.api.CameraCommand.StartCameraRecordingCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StartCameraRecordingCommand buildPartial() {
        cmvr.api.CameraCommand.StartCameraRecordingCommand result = new cmvr.api.CameraCommand.StartCameraRecordingCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.StartCameraRecordingCommand) {
          return mergeFrom((cmvr.api.CameraCommand.StartCameraRecordingCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.StartCameraRecordingCommand other) {
        if (other == cmvr.api.CameraCommand.StartCameraRecordingCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.StartCameraRecordingCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.StartCameraRecordingCommand)
    private static final cmvr.api.CameraCommand.StartCameraRecordingCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StartCameraRecordingCommand();
    }

    public static cmvr.api.CameraCommand.StartCameraRecordingCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.StartCameraRecordingCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StopCameraRecordingCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraRecordingCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.StopCameraRecordingCommand}
   */
  public static final class StopCameraRecordingCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraRecordingCommand)
      StopCameraRecordingCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StopCameraRecordingCommand.newBuilder() to construct.
    private StopCameraRecordingCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private StopCameraRecordingCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.StopCameraRecordingCommand.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraRecordingCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraRecordingCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraRecordingCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StopCameraRecordingCommand.Request other = (cmvr.api.CameraCommand.StopCameraRecordingCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraRecordingCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StopCameraRecordingCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraRecordingCommand.Request)
          cmvr.api.CameraCommand.StopCameraRecordingCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Request build() {
          cmvr.api.CameraCommand.StopCameraRecordingCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Request buildPartial() {
          cmvr.api.CameraCommand.StopCameraRecordingCommand.Request result = new cmvr.api.CameraCommand.StopCameraRecordingCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.StopCameraRecordingCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraRecordingCommand.Request other) {
          if (other == cmvr.api.CameraCommand.StopCameraRecordingCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraRecordingCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraRecordingCommand.Request)
      private static final cmvr.api.CameraCommand.StopCameraRecordingCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraRecordingCommand.Request();
      }

      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraRecordingCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.StopCameraRecordingCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraRecordingCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.StopCameraRecordingCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback other = (cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

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

      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.StopCameraRecordingCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraRecordingCommand.Feedback)
          cmvr.api.CameraCommand.StopCameraRecordingCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback build() {
          cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback result = new cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraRecordingCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraRecordingCommand.Feedback)
      private static final cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraRecordingCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.StopCameraRecordingCommand other = (cmvr.api.CameraCommand.StopCameraRecordingCommand) obj;

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

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

    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.StopCameraRecordingCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.StopCameraRecordingCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.StopCameraRecordingCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.StopCameraRecordingCommand)
        cmvr.api.CameraCommand.StopCameraRecordingCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.StopCameraRecordingCommand.class, cmvr.api.CameraCommand.StopCameraRecordingCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.StopCameraRecordingCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_StopCameraRecordingCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraRecordingCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.StopCameraRecordingCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraRecordingCommand build() {
        cmvr.api.CameraCommand.StopCameraRecordingCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.StopCameraRecordingCommand buildPartial() {
        cmvr.api.CameraCommand.StopCameraRecordingCommand result = new cmvr.api.CameraCommand.StopCameraRecordingCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.StopCameraRecordingCommand) {
          return mergeFrom((cmvr.api.CameraCommand.StopCameraRecordingCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.StopCameraRecordingCommand other) {
        if (other == cmvr.api.CameraCommand.StopCameraRecordingCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.StopCameraRecordingCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.StopCameraRecordingCommand)
    private static final cmvr.api.CameraCommand.StopCameraRecordingCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.StopCameraRecordingCommand();
    }

    public static cmvr.api.CameraCommand.StopCameraRecordingCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.StopCameraRecordingCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetRGBImageStreamCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageStreamCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand}
   */
  public static final class GetRGBImageStreamCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageStreamCommand)
      GetRGBImageStreamCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetRGBImageStreamCommand.newBuilder() to construct.
    private GetRGBImageStreamCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetRGBImageStreamCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetRGBImageStreamCommand.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageStreamCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();

      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      boolean getEof();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageStreamCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int EOF_FIELD_NUMBER = 2;
      private boolean eof_;
      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      @java.lang.Override
      public boolean getEof() {
        return eof_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (eof_ != false) {
          output.writeBool(2, eof_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (eof_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(2, eof_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request other = (cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (getEof()
            != other.getEof()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        hash = (37 * hash) + EOF_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getEof());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageStreamCommand.Request)
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          eof_ = false;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request build() {
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request result = new cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          result.eof_ = eof_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.getEof() != false) {
            setEof(other.getEof());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 16: {
                  eof_ = input.readBool();

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private boolean eof_ ;
        /**
         * <code>bool eof = 2;</code>
         * @return The eof.
         */
        @java.lang.Override
        public boolean getEof() {
          return eof_;
        }
        /**
         * <code>bool eof = 2;</code>
         * @param value The eof to set.
         * @return This builder for chaining.
         */
        public Builder setEof(boolean value) {
          
          eof_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool eof = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearEof() {
          
          eof_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageStreamCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageStreamCommand.Request)
      private static final cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBImageStreamCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      boolean hasColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      cmvr.api.CameraCommand.FrameData getColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();

      /**
       * <code>int32 seq_no = 4;</code>
       * @return The seqNo.
       */
      int getSeqNo();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBImageStreamCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int COLOR_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData colorFrame_;
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      @java.lang.Override
      public boolean hasColorFrame() {
        return colorFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getColorFrame() {
        return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
        return getColorFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

      public static final int SEQ_NO_FIELD_NUMBER = 4;
      private int seqNo_;
      /**
       * <code>int32 seq_no = 4;</code>
       * @return The seqNo.
       */
      @java.lang.Override
      public int getSeqNo() {
        return seqNo_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (colorFrame_ != null) {
          output.writeMessage(2, getColorFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(3, getIntrinsics());
        }
        if (seqNo_ != 0) {
          output.writeInt32(4, seqNo_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (colorFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getColorFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getIntrinsics());
        }
        if (seqNo_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, seqNo_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback other = (cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasColorFrame() != other.hasColorFrame()) return false;
        if (hasColorFrame()) {
          if (!getColorFrame()
              .equals(other.getColorFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (getSeqNo()
            != other.getSeqNo()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasColorFrame()) {
          hash = (37 * hash) + COLOR_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getColorFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (37 * hash) + SEQ_NO_FIELD_NUMBER;
        hash = (53 * hash) + getSeqNo();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageStreamCommand.Feedback)
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          seqNo_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback build() {
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback result = new cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (colorFrameBuilder_ == null) {
            result.colorFrame_ = colorFrame_;
          } else {
            result.colorFrame_ = colorFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          result.seqNo_ = seqNo_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasColorFrame()) {
            mergeColorFrame(other.getColorFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          if (other.getSeqNo() != 0) {
            setSeqNo(other.getSeqNo());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getColorFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 26
                case 32: {
                  seqNo_ = input.readInt32();

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData colorFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> colorFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return Whether the colorFrame field is set.
         */
        public boolean hasColorFrame() {
          return colorFrameBuilder_ != null || colorFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return The colorFrame.
         */
        public cmvr.api.CameraCommand.FrameData getColorFrame() {
          if (colorFrameBuilder_ == null) {
            return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          } else {
            return colorFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            colorFrame_ = value;
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = builderForValue.build();
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder mergeColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (colorFrame_ != null) {
              colorFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(colorFrame_).mergeFrom(value).buildPartial();
            } else {
              colorFrame_ = value;
            }
            onChanged();
          } else {
            colorFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder clearColorFrame() {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
            onChanged();
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getColorFrameBuilder() {
          
          onChanged();
          return getColorFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
          if (colorFrameBuilder_ != null) {
            return colorFrameBuilder_.getMessageOrBuilder();
          } else {
            return colorFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getColorFrameFieldBuilder() {
          if (colorFrameBuilder_ == null) {
            colorFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getColorFrame(),
                    getParentForChildren(),
                    isClean());
            colorFrame_ = null;
          }
          return colorFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }

        private int seqNo_ ;
        /**
         * <code>int32 seq_no = 4;</code>
         * @return The seqNo.
         */
        @java.lang.Override
        public int getSeqNo() {
          return seqNo_;
        }
        /**
         * <code>int32 seq_no = 4;</code>
         * @param value The seqNo to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNo(int value) {
          
          seqNo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>int32 seq_no = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNo() {
          
          seqNo_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageStreamCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageStreamCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageStreamCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetRGBImageStreamCommand other = (cmvr.api.CameraCommand.GetRGBImageStreamCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBImageStreamCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBImageStreamCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBImageStreamCommand)
        cmvr.api.CameraCommand.GetRGBImageStreamCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBImageStreamCommand.class, cmvr.api.CameraCommand.GetRGBImageStreamCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetRGBImageStreamCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageStreamCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetRGBImageStreamCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageStreamCommand build() {
        cmvr.api.CameraCommand.GetRGBImageStreamCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBImageStreamCommand buildPartial() {
        cmvr.api.CameraCommand.GetRGBImageStreamCommand result = new cmvr.api.CameraCommand.GetRGBImageStreamCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetRGBImageStreamCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetRGBImageStreamCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBImageStreamCommand other) {
        if (other == cmvr.api.CameraCommand.GetRGBImageStreamCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBImageStreamCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBImageStreamCommand)
    private static final cmvr.api.CameraCommand.GetRGBImageStreamCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBImageStreamCommand();
    }

    public static cmvr.api.CameraCommand.GetRGBImageStreamCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetRGBImageStreamCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetDepthImageStreamCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageStreamCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand}
   */
  public static final class GetDepthImageStreamCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageStreamCommand)
      GetDepthImageStreamCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetDepthImageStreamCommand.newBuilder() to construct.
    private GetDepthImageStreamCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetDepthImageStreamCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetDepthImageStreamCommand.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageStreamCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();

      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      boolean getEof();
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageStreamCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int EOF_FIELD_NUMBER = 2;
      private boolean eof_;
      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      @java.lang.Override
      public boolean getEof() {
        return eof_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (eof_ != false) {
          output.writeBool(2, eof_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (eof_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(2, eof_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request other = (cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (getEof()
            != other.getEof()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        hash = (37 * hash) + EOF_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getEof());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageStreamCommand.Request)
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          eof_ = false;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request build() {
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request result = new cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          result.eof_ = eof_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.getEof() != false) {
            setEof(other.getEof());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 16: {
                  eof_ = input.readBool();

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private boolean eof_ ;
        /**
         * <code>bool eof = 2;</code>
         * @return The eof.
         */
        @java.lang.Override
        public boolean getEof() {
          return eof_;
        }
        /**
         * <code>bool eof = 2;</code>
         * @param value The eof to set.
         * @return This builder for chaining.
         */
        public Builder setEof(boolean value) {
          
          eof_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool eof = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearEof() {
          
          eof_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageStreamCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageStreamCommand.Request)
      private static final cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetDepthImageStreamCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return Whether the depthFrame field is set.
       */
      boolean hasDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return The depthFrame.
       */
      cmvr.api.CameraCommand.FrameData getDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();

      /**
       * <code>int32 seq_no = 4;</code>
       * @return The seqNo.
       */
      int getSeqNo();
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetDepthImageStreamCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int DEPTH_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData depthFrame_;
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return Whether the depthFrame field is set.
       */
      @java.lang.Override
      public boolean hasDepthFrame() {
        return depthFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       * @return The depthFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getDepthFrame() {
        return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
        return getDepthFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

      public static final int SEQ_NO_FIELD_NUMBER = 4;
      private int seqNo_;
      /**
       * <code>int32 seq_no = 4;</code>
       * @return The seqNo.
       */
      @java.lang.Override
      public int getSeqNo() {
        return seqNo_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (depthFrame_ != null) {
          output.writeMessage(2, getDepthFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(3, getIntrinsics());
        }
        if (seqNo_ != 0) {
          output.writeInt32(4, seqNo_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (depthFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getDepthFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getIntrinsics());
        }
        if (seqNo_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, seqNo_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback other = (cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasDepthFrame() != other.hasDepthFrame()) return false;
        if (hasDepthFrame()) {
          if (!getDepthFrame()
              .equals(other.getDepthFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (getSeqNo()
            != other.getSeqNo()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasDepthFrame()) {
          hash = (37 * hash) + DEPTH_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getDepthFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (37 * hash) + SEQ_NO_FIELD_NUMBER;
        hash = (53 * hash) + getSeqNo();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageStreamCommand.Feedback)
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          seqNo_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback build() {
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback result = new cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (depthFrameBuilder_ == null) {
            result.depthFrame_ = depthFrame_;
          } else {
            result.depthFrame_ = depthFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          result.seqNo_ = seqNo_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasDepthFrame()) {
            mergeDepthFrame(other.getDepthFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          if (other.getSeqNo() != 0) {
            setSeqNo(other.getSeqNo());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getDepthFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 26
                case 32: {
                  seqNo_ = input.readInt32();

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData depthFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> depthFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         * @return Whether the depthFrame field is set.
         */
        public boolean hasDepthFrame() {
          return depthFrameBuilder_ != null || depthFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         * @return The depthFrame.
         */
        public cmvr.api.CameraCommand.FrameData getDepthFrame() {
          if (depthFrameBuilder_ == null) {
            return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          } else {
            return depthFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder setDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            depthFrame_ = value;
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder setDepthFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = builderForValue.build();
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder mergeDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (depthFrame_ != null) {
              depthFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(depthFrame_).mergeFrom(value).buildPartial();
            } else {
              depthFrame_ = value;
            }
            onChanged();
          } else {
            depthFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public Builder clearDepthFrame() {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
            onChanged();
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getDepthFrameBuilder() {
          
          onChanged();
          return getDepthFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
          if (depthFrameBuilder_ != null) {
            return depthFrameBuilder_.getMessageOrBuilder();
          } else {
            return depthFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getDepthFrameFieldBuilder() {
          if (depthFrameBuilder_ == null) {
            depthFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getDepthFrame(),
                    getParentForChildren(),
                    isClean());
            depthFrame_ = null;
          }
          return depthFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }

        private int seqNo_ ;
        /**
         * <code>int32 seq_no = 4;</code>
         * @return The seqNo.
         */
        @java.lang.Override
        public int getSeqNo() {
          return seqNo_;
        }
        /**
         * <code>int32 seq_no = 4;</code>
         * @param value The seqNo to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNo(int value) {
          
          seqNo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>int32 seq_no = 4;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNo() {
          
          seqNo_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageStreamCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageStreamCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageStreamCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetDepthImageStreamCommand other = (cmvr.api.CameraCommand.GetDepthImageStreamCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetDepthImageStreamCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetDepthImageStreamCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetDepthImageStreamCommand)
        cmvr.api.CameraCommand.GetDepthImageStreamCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetDepthImageStreamCommand.class, cmvr.api.CameraCommand.GetDepthImageStreamCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetDepthImageStreamCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageStreamCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetDepthImageStreamCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageStreamCommand build() {
        cmvr.api.CameraCommand.GetDepthImageStreamCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetDepthImageStreamCommand buildPartial() {
        cmvr.api.CameraCommand.GetDepthImageStreamCommand result = new cmvr.api.CameraCommand.GetDepthImageStreamCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetDepthImageStreamCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetDepthImageStreamCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetDepthImageStreamCommand other) {
        if (other == cmvr.api.CameraCommand.GetDepthImageStreamCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetDepthImageStreamCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetDepthImageStreamCommand)
    private static final cmvr.api.CameraCommand.GetDepthImageStreamCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetDepthImageStreamCommand();
    }

    public static cmvr.api.CameraCommand.GetDepthImageStreamCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetDepthImageStreamCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GetRGBDImagesStreamCommandOrBuilder extends
      // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesStreamCommand)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand}
   */
  public static final class GetRGBDImagesStreamCommand extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesStreamCommand)
      GetRGBDImagesStreamCommandOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GetRGBDImagesStreamCommand.newBuilder() to construct.
    private GetRGBDImagesStreamCommand(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GetRGBDImagesStreamCommand() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Builder.class);
    }

    public interface RequestOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesStreamCommand.Request)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Request getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder();

      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      boolean getEof();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand.Request}
     */
    public static final class Request extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesStreamCommand.Request)
        RequestOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Request.newBuilder() to construct.
      private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Request() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Request header_;
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Request getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int EOF_FIELD_NUMBER = 2;
      private boolean eof_;
      /**
       * <code>bool eof = 2;</code>
       * @return The eof.
       */
      @java.lang.Override
      public boolean getEof() {
        return eof_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (eof_ != false) {
          output.writeBool(2, eof_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (eof_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(2, eof_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request other = (cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (getEof()
            != other.getEof()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        hash = (37 * hash) + EOF_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getEof());
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand.Request}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesStreamCommand.Request)
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.RequestOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          eof_ = false;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request build() {
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request buildPartial() {
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request result = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          result.eof_ = eof_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request other) {
          if (other == cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.getEof() != false) {
            setEof(other.getEof());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 16: {
                  eof_ = input.readBool();

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

        private cmvr.api.Common.CommandHeader.Request header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Request getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Request.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Request value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Request.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Request.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.RequestOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Request.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Request header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Request, cmvr.api.Common.CommandHeader.Request.Builder, cmvr.api.Common.CommandHeader.RequestOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private boolean eof_ ;
        /**
         * <code>bool eof = 2;</code>
         * @return The eof.
         */
        @java.lang.Override
        public boolean getEof() {
          return eof_;
        }
        /**
         * <code>bool eof = 2;</code>
         * @param value The eof to set.
         * @return This builder for chaining.
         */
        public Builder setEof(boolean value) {
          
          eof_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>bool eof = 2;</code>
         * @return This builder for chaining.
         */
        public Builder clearEof() {
          
          eof_ = false;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesStreamCommand.Request)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesStreamCommand.Request)
      private static final cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request();
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Request getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface FeedbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:cmvr.api.GetRGBDImagesStreamCommand.Feedback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      boolean hasHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      cmvr.api.Common.CommandHeader.Feedback getHeader();
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder();

      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      boolean hasColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      cmvr.api.CameraCommand.FrameData getColorFrame();
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder();

      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return Whether the depthFrame field is set.
       */
      boolean hasDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return The depthFrame.
       */
      cmvr.api.CameraCommand.FrameData getDepthFrame();
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       */
      cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder();

      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return Whether the intrinsics field is set.
       */
      boolean hasIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return The intrinsics.
       */
      cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics();
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       */
      cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder();

      /**
       * <code>int32 seq_no = 5;</code>
       * @return The seqNo.
       */
      int getSeqNo();
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand.Feedback}
     */
    public static final class Feedback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:cmvr.api.GetRGBDImagesStreamCommand.Feedback)
        FeedbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Feedback.newBuilder() to construct.
      private Feedback(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Feedback() {
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.Builder.class);
      }

      public static final int HEADER_FIELD_NUMBER = 1;
      private cmvr.api.Common.CommandHeader.Feedback header_;
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return Whether the header field is set.
       */
      @java.lang.Override
      public boolean hasHeader() {
        return header_ != null;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       * @return The header.
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.Feedback getHeader() {
        return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
      }
      /**
       * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
       */
      @java.lang.Override
      public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
        return getHeader();
      }

      public static final int COLOR_FRAME_FIELD_NUMBER = 2;
      private cmvr.api.CameraCommand.FrameData colorFrame_;
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return Whether the colorFrame field is set.
       */
      @java.lang.Override
      public boolean hasColorFrame() {
        return colorFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       * @return The colorFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getColorFrame() {
        return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData color_frame = 2;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
        return getColorFrame();
      }

      public static final int DEPTH_FRAME_FIELD_NUMBER = 3;
      private cmvr.api.CameraCommand.FrameData depthFrame_;
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return Whether the depthFrame field is set.
       */
      @java.lang.Override
      public boolean hasDepthFrame() {
        return depthFrame_ != null;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       * @return The depthFrame.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameData getDepthFrame() {
        return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
      }
      /**
       * <code>.cmvr.api.FrameData depth_frame = 3;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
        return getDepthFrame();
      }

      public static final int INTRINSICS_FIELD_NUMBER = 4;
      private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return Whether the intrinsics field is set.
       */
      @java.lang.Override
      public boolean hasIntrinsics() {
        return intrinsics_ != null;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       * @return The intrinsics.
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
        return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
      }
      /**
       * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
       */
      @java.lang.Override
      public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
        return getIntrinsics();
      }

      public static final int SEQ_NO_FIELD_NUMBER = 5;
      private int seqNo_;
      /**
       * <code>int32 seq_no = 5;</code>
       * @return The seqNo.
       */
      @java.lang.Override
      public int getSeqNo() {
        return seqNo_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (header_ != null) {
          output.writeMessage(1, getHeader());
        }
        if (colorFrame_ != null) {
          output.writeMessage(2, getColorFrame());
        }
        if (depthFrame_ != null) {
          output.writeMessage(3, getDepthFrame());
        }
        if (intrinsics_ != null) {
          output.writeMessage(4, getIntrinsics());
        }
        if (seqNo_ != 0) {
          output.writeInt32(5, seqNo_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (header_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getHeader());
        }
        if (colorFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getColorFrame());
        }
        if (depthFrame_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getDepthFrame());
        }
        if (intrinsics_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, getIntrinsics());
        }
        if (seqNo_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(5, seqNo_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback)) {
          return super.equals(obj);
        }
        cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback other = (cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback) obj;

        if (hasHeader() != other.hasHeader()) return false;
        if (hasHeader()) {
          if (!getHeader()
              .equals(other.getHeader())) return false;
        }
        if (hasColorFrame() != other.hasColorFrame()) return false;
        if (hasColorFrame()) {
          if (!getColorFrame()
              .equals(other.getColorFrame())) return false;
        }
        if (hasDepthFrame() != other.hasDepthFrame()) return false;
        if (hasDepthFrame()) {
          if (!getDepthFrame()
              .equals(other.getDepthFrame())) return false;
        }
        if (hasIntrinsics() != other.hasIntrinsics()) return false;
        if (hasIntrinsics()) {
          if (!getIntrinsics()
              .equals(other.getIntrinsics())) return false;
        }
        if (getSeqNo()
            != other.getSeqNo()) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasHeader()) {
          hash = (37 * hash) + HEADER_FIELD_NUMBER;
          hash = (53 * hash) + getHeader().hashCode();
        }
        if (hasColorFrame()) {
          hash = (37 * hash) + COLOR_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getColorFrame().hashCode();
        }
        if (hasDepthFrame()) {
          hash = (37 * hash) + DEPTH_FRAME_FIELD_NUMBER;
          hash = (53 * hash) + getDepthFrame().hashCode();
        }
        if (hasIntrinsics()) {
          hash = (37 * hash) + INTRINSICS_FIELD_NUMBER;
          hash = (53 * hash) + getIntrinsics().hashCode();
        }
        hash = (37 * hash) + SEQ_NO_FIELD_NUMBER;
        hash = (53 * hash) + getSeqNo();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand.Feedback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesStreamCommand.Feedback)
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.FeedbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.Builder.class);
        }

        // Construct using cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (headerBuilder_ == null) {
            header_ = null;
          } else {
            header_ = null;
            headerBuilder_ = null;
          }
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }
          seqNo_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback getDefaultInstanceForType() {
          return cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.getDefaultInstance();
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback build() {
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback buildPartial() {
          cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback result = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback(this);
          if (headerBuilder_ == null) {
            result.header_ = header_;
          } else {
            result.header_ = headerBuilder_.build();
          }
          if (colorFrameBuilder_ == null) {
            result.colorFrame_ = colorFrame_;
          } else {
            result.colorFrame_ = colorFrameBuilder_.build();
          }
          if (depthFrameBuilder_ == null) {
            result.depthFrame_ = depthFrame_;
          } else {
            result.depthFrame_ = depthFrameBuilder_.build();
          }
          if (intrinsicsBuilder_ == null) {
            result.intrinsics_ = intrinsics_;
          } else {
            result.intrinsics_ = intrinsicsBuilder_.build();
          }
          result.seqNo_ = seqNo_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback) {
            return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback other) {
          if (other == cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback.getDefaultInstance()) return this;
          if (other.hasHeader()) {
            mergeHeader(other.getHeader());
          }
          if (other.hasColorFrame()) {
            mergeColorFrame(other.getColorFrame());
          }
          if (other.hasDepthFrame()) {
            mergeDepthFrame(other.getDepthFrame());
          }
          if (other.hasIntrinsics()) {
            mergeIntrinsics(other.getIntrinsics());
          }
          if (other.getSeqNo() != 0) {
            setSeqNo(other.getSeqNo());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

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

                  break;
                } // case 10
                case 18: {
                  input.readMessage(
                      getColorFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 18
                case 26: {
                  input.readMessage(
                      getDepthFrameFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 26
                case 34: {
                  input.readMessage(
                      getIntrinsicsFieldBuilder().getBuilder(),
                      extensionRegistry);

                  break;
                } // case 34
                case 40: {
                  seqNo_ = input.readInt32();

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

        private cmvr.api.Common.CommandHeader.Feedback header_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> headerBuilder_;
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return Whether the header field is set.
         */
        public boolean hasHeader() {
          return headerBuilder_ != null || header_ != null;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         * @return The header.
         */
        public cmvr.api.Common.CommandHeader.Feedback getHeader() {
          if (headerBuilder_ == null) {
            return header_ == null ? cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          } else {
            return headerBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            header_ = value;
            onChanged();
          } else {
            headerBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder setHeader(
            cmvr.api.Common.CommandHeader.Feedback.Builder builderForValue) {
          if (headerBuilder_ == null) {
            header_ = builderForValue.build();
            onChanged();
          } else {
            headerBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder mergeHeader(cmvr.api.Common.CommandHeader.Feedback value) {
          if (headerBuilder_ == null) {
            if (header_ != null) {
              header_ =
                cmvr.api.Common.CommandHeader.Feedback.newBuilder(header_).mergeFrom(value).buildPartial();
            } else {
              header_ = value;
            }
            onChanged();
          } else {
            headerBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public Builder clearHeader() {
          if (headerBuilder_ == null) {
            header_ = null;
            onChanged();
          } else {
            header_ = null;
            headerBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.Feedback.Builder getHeaderBuilder() {
          
          onChanged();
          return getHeaderFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        public cmvr.api.Common.CommandHeader.FeedbackOrBuilder getHeaderOrBuilder() {
          if (headerBuilder_ != null) {
            return headerBuilder_.getMessageOrBuilder();
          } else {
            return header_ == null ?
                cmvr.api.Common.CommandHeader.Feedback.getDefaultInstance() : header_;
          }
        }
        /**
         * <code>.cmvr.api.CommandHeader.Feedback header = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder> 
            getHeaderFieldBuilder() {
          if (headerBuilder_ == null) {
            headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.Common.CommandHeader.Feedback, cmvr.api.Common.CommandHeader.Feedback.Builder, cmvr.api.Common.CommandHeader.FeedbackOrBuilder>(
                    getHeader(),
                    getParentForChildren(),
                    isClean());
            header_ = null;
          }
          return headerBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData colorFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> colorFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return Whether the colorFrame field is set.
         */
        public boolean hasColorFrame() {
          return colorFrameBuilder_ != null || colorFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         * @return The colorFrame.
         */
        public cmvr.api.CameraCommand.FrameData getColorFrame() {
          if (colorFrameBuilder_ == null) {
            return colorFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          } else {
            return colorFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            colorFrame_ = value;
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder setColorFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = builderForValue.build();
            onChanged();
          } else {
            colorFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder mergeColorFrame(cmvr.api.CameraCommand.FrameData value) {
          if (colorFrameBuilder_ == null) {
            if (colorFrame_ != null) {
              colorFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(colorFrame_).mergeFrom(value).buildPartial();
            } else {
              colorFrame_ = value;
            }
            onChanged();
          } else {
            colorFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public Builder clearColorFrame() {
          if (colorFrameBuilder_ == null) {
            colorFrame_ = null;
            onChanged();
          } else {
            colorFrame_ = null;
            colorFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getColorFrameBuilder() {
          
          onChanged();
          return getColorFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getColorFrameOrBuilder() {
          if (colorFrameBuilder_ != null) {
            return colorFrameBuilder_.getMessageOrBuilder();
          } else {
            return colorFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : colorFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData color_frame = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getColorFrameFieldBuilder() {
          if (colorFrameBuilder_ == null) {
            colorFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getColorFrame(),
                    getParentForChildren(),
                    isClean());
            colorFrame_ = null;
          }
          return colorFrameBuilder_;
        }

        private cmvr.api.CameraCommand.FrameData depthFrame_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> depthFrameBuilder_;
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         * @return Whether the depthFrame field is set.
         */
        public boolean hasDepthFrame() {
          return depthFrameBuilder_ != null || depthFrame_ != null;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         * @return The depthFrame.
         */
        public cmvr.api.CameraCommand.FrameData getDepthFrame() {
          if (depthFrameBuilder_ == null) {
            return depthFrame_ == null ? cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          } else {
            return depthFrameBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder setDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            depthFrame_ = value;
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder setDepthFrame(
            cmvr.api.CameraCommand.FrameData.Builder builderForValue) {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = builderForValue.build();
            onChanged();
          } else {
            depthFrameBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder mergeDepthFrame(cmvr.api.CameraCommand.FrameData value) {
          if (depthFrameBuilder_ == null) {
            if (depthFrame_ != null) {
              depthFrame_ =
                cmvr.api.CameraCommand.FrameData.newBuilder(depthFrame_).mergeFrom(value).buildPartial();
            } else {
              depthFrame_ = value;
            }
            onChanged();
          } else {
            depthFrameBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public Builder clearDepthFrame() {
          if (depthFrameBuilder_ == null) {
            depthFrame_ = null;
            onChanged();
          } else {
            depthFrame_ = null;
            depthFrameBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public cmvr.api.CameraCommand.FrameData.Builder getDepthFrameBuilder() {
          
          onChanged();
          return getDepthFrameFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        public cmvr.api.CameraCommand.FrameDataOrBuilder getDepthFrameOrBuilder() {
          if (depthFrameBuilder_ != null) {
            return depthFrameBuilder_.getMessageOrBuilder();
          } else {
            return depthFrame_ == null ?
                cmvr.api.CameraCommand.FrameData.getDefaultInstance() : depthFrame_;
          }
        }
        /**
         * <code>.cmvr.api.FrameData depth_frame = 3;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder> 
            getDepthFrameFieldBuilder() {
          if (depthFrameBuilder_ == null) {
            depthFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.FrameData, cmvr.api.CameraCommand.FrameData.Builder, cmvr.api.CameraCommand.FrameDataOrBuilder>(
                    getDepthFrame(),
                    getParentForChildren(),
                    isClean());
            depthFrame_ = null;
          }
          return depthFrameBuilder_;
        }

        private cmvr.api.CameraCommand.Rs2Intrinsics intrinsics_;
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> intrinsicsBuilder_;
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         * @return Whether the intrinsics field is set.
         */
        public boolean hasIntrinsics() {
          return intrinsicsBuilder_ != null || intrinsics_ != null;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         * @return The intrinsics.
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics getIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            return intrinsics_ == null ? cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          } else {
            return intrinsicsBuilder_.getMessage();
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder setIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            intrinsics_ = value;
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder setIntrinsics(
            cmvr.api.CameraCommand.Rs2Intrinsics.Builder builderForValue) {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = builderForValue.build();
            onChanged();
          } else {
            intrinsicsBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder mergeIntrinsics(cmvr.api.CameraCommand.Rs2Intrinsics value) {
          if (intrinsicsBuilder_ == null) {
            if (intrinsics_ != null) {
              intrinsics_ =
                cmvr.api.CameraCommand.Rs2Intrinsics.newBuilder(intrinsics_).mergeFrom(value).buildPartial();
            } else {
              intrinsics_ = value;
            }
            onChanged();
          } else {
            intrinsicsBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public Builder clearIntrinsics() {
          if (intrinsicsBuilder_ == null) {
            intrinsics_ = null;
            onChanged();
          } else {
            intrinsics_ = null;
            intrinsicsBuilder_ = null;
          }

          return this;
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public cmvr.api.CameraCommand.Rs2Intrinsics.Builder getIntrinsicsBuilder() {
          
          onChanged();
          return getIntrinsicsFieldBuilder().getBuilder();
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        public cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder getIntrinsicsOrBuilder() {
          if (intrinsicsBuilder_ != null) {
            return intrinsicsBuilder_.getMessageOrBuilder();
          } else {
            return intrinsics_ == null ?
                cmvr.api.CameraCommand.Rs2Intrinsics.getDefaultInstance() : intrinsics_;
          }
        }
        /**
         * <code>.cmvr.api.Rs2Intrinsics intrinsics = 4;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder> 
            getIntrinsicsFieldBuilder() {
          if (intrinsicsBuilder_ == null) {
            intrinsicsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                cmvr.api.CameraCommand.Rs2Intrinsics, cmvr.api.CameraCommand.Rs2Intrinsics.Builder, cmvr.api.CameraCommand.Rs2IntrinsicsOrBuilder>(
                    getIntrinsics(),
                    getParentForChildren(),
                    isClean());
            intrinsics_ = null;
          }
          return intrinsicsBuilder_;
        }

        private int seqNo_ ;
        /**
         * <code>int32 seq_no = 5;</code>
         * @return The seqNo.
         */
        @java.lang.Override
        public int getSeqNo() {
          return seqNo_;
        }
        /**
         * <code>int32 seq_no = 5;</code>
         * @param value The seqNo to set.
         * @return This builder for chaining.
         */
        public Builder setSeqNo(int value) {
          
          seqNo_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>int32 seq_no = 5;</code>
         * @return This builder for chaining.
         */
        public Builder clearSeqNo() {
          
          seqNo_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesStreamCommand.Feedback)
      }

      // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesStreamCommand.Feedback)
      private static final cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback();
      }

      public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Feedback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand)) {
        return super.equals(obj);
      }
      cmvr.api.CameraCommand.GetRGBDImagesStreamCommand other = (cmvr.api.CameraCommand.GetRGBDImagesStreamCommand) obj;

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

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

    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code cmvr.api.GetRGBDImagesStreamCommand}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:cmvr.api.GetRGBDImagesStreamCommand)
        cmvr.api.CameraCommand.GetRGBDImagesStreamCommandOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.class, cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.Builder.class);
      }

      // Construct using cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return cmvr.api.CameraCommand.internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand getDefaultInstanceForType() {
        return cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.getDefaultInstance();
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand build() {
        cmvr.api.CameraCommand.GetRGBDImagesStreamCommand result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand buildPartial() {
        cmvr.api.CameraCommand.GetRGBDImagesStreamCommand result = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof cmvr.api.CameraCommand.GetRGBDImagesStreamCommand) {
          return mergeFrom((cmvr.api.CameraCommand.GetRGBDImagesStreamCommand)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(cmvr.api.CameraCommand.GetRGBDImagesStreamCommand other) {
        if (other == cmvr.api.CameraCommand.GetRGBDImagesStreamCommand.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

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

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


      // @@protoc_insertion_point(builder_scope:cmvr.api.GetRGBDImagesStreamCommand)
    }

    // @@protoc_insertion_point(class_scope:cmvr.api.GetRGBDImagesStreamCommand)
    private static final cmvr.api.CameraCommand.GetRGBDImagesStreamCommand DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new cmvr.api.CameraCommand.GetRGBDImagesStreamCommand();
    }

    public static cmvr.api.CameraCommand.GetRGBDImagesStreamCommand getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public cmvr.api.CameraCommand.GetRGBDImagesStreamCommand getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_FrameData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_FrameData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_Rs2Intrinsics_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_Rs2Intrinsics_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_CameraState_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_CameraState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetCameraStateCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetCameraStateCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetCameraStateCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetCameraStateCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraRecordingCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraRecordingCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraRecordingCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraRecordingCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraRecordingCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraRecordingCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageStreamCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageStreamCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageStreamCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageStreamCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesStreamCommand_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\035cmvr/api/camera_command.proto\022\010cmvr.ap" +
      "i\032\025cmvr/api/common.proto\"\327\001\n\tFrameData\022\014" +
      "\n\004data\030\001 \001(\014\022\r\n\005width\030\002 \001(\005\022\016\n\006height\030\003 " +
      "\001(\005\022+\n\004type\030\004 \001(\0162\035.cmvr.api.FrameData.F" +
      "rameType\022\r\n\005codec\030\005 \001(\t\022\024\n\014is_key_frame\030" +
      "\006 \001(\010\"K\n\tFrameType\022\010\n\004U8C1\020\000\022\t\n\005U16C1\020\001\022" +
      "\010\n\004U8C3\020\002\022\t\n\005U16C3\020\003\022\t\n\005F16C1\020\004\022\t\n\005F32C1" +
      "\020\005\"S\n\rRs2Intrinsics\022\n\n\002cx\030\001 \001(\002\022\n\n\002cy\030\002 " +
      "\001(\002\022\n\n\002fx\030\003 \001(\002\022\n\n\002fy\030\004 \001(\002\022\022\n\006coeffs\030\005 " +
      "\003(\002B\002\020\001\"\271\001\n\013CameraState\022\026\n\016is_initialize" +
      "d\030\001 \001(\010\022\021\n\tis_opened\030\002 \001(\010\022\024\n\014is_streami" +
      "ng\030\003 \001(\010\022\024\n\014is_recording\030\004 \001(\010\022\020\n\010is_err" +
      "or\030\005 \001(\010\022\025\n\rerror_message\030\006 \001(\t\022\013\n\003fps\030\007" +
      " \001(\005\022\r\n\005width\030\010 \001(\005\022\016\n\006height\030\t \001(\005\"\267\001\n\025" +
      "GetCameraStateCommand\032:\n\007Request\022/\n\006head" +
      "er\030\001 \001(\0132\037.cmvr.api.CommandHeader.Reques" +
      "t\032b\n\010Feedback\0220\n\006header\030\001 \001(\0132 .cmvr.api" +
      ".CommandHeader.Feedback\022$\n\005state\030\002 \001(\0132\025" +
      ".cmvr.api.CameraState\"\216\001\n\022StartCameraCom" +
      "mand\032:\n\007Request\022/\n\006header\030\001 \001(\0132\037.cmvr.a" +
      "pi.CommandHeader.Request\032<\n\010Feedback\0220\n\006" +
      "header\030\001 \001(\0132 .cmvr.api.CommandHeader.Fe" +
      "edback\"\215\001\n\021StopCameraCommand\032:\n\007Request\022" +
      "/\n\006header\030\001 \001(\0132\037.cmvr.api.CommandHeader" +
      ".Request\032<\n\010Feedback\0220\n\006header\030\001 \001(\0132 .c" +
      "mvr.api.CommandHeader.Feedback\"\346\001\n\022GetRG" +
      "BImageCommand\032:\n\007Request\022/\n\006header\030\001 \001(\013" +
      "2\037.cmvr.api.CommandHeader.Request\032\223\001\n\010Fe" +
      "edback\0220\n\006header\030\001 \001(\0132 .cmvr.api.Comman" +
      "dHeader.Feedback\022(\n\013color_frame\030\002 \001(\0132\023." +
      "cmvr.api.FrameData\022+\n\nintrinsics\030\003 \001(\0132\027" +
      ".cmvr.api.Rs2Intrinsics\"\350\001\n\024GetDepthImag" +
      "eCommand\032:\n\007Request\022/\n\006header\030\001 \001(\0132\037.cm" +
      "vr.api.CommandHeader.Request\032\223\001\n\010Feedbac" +
      "k\0220\n\006header\030\001 \001(\0132 .cmvr.api.CommandHead" +
      "er.Feedback\022(\n\013depth_frame\030\002 \001(\0132\023.cmvr." +
      "api.FrameData\022+\n\nintrinsics\030\003 \001(\0132\027.cmvr" +
      ".api.Rs2Intrinsics\"\222\002\n\024GetRGBDImagesComm" +
      "and\032:\n\007Request\022/\n\006header\030\001 \001(\0132\037.cmvr.ap" +
      "i.CommandHeader.Request\032\275\001\n\010Feedback\0220\n\006" +
      "header\030\001 \001(\0132 .cmvr.api.CommandHeader.Fe" +
      "edback\022(\n\013color_frame\030\002 \001(\0132\023.cmvr.api.F" +
      "rameData\022(\n\013depth_frame\030\003 \001(\0132\023.cmvr.api" +
      ".FrameData\022+\n\nintrinsics\030\004 \001(\0132\027.cmvr.ap" +
      "i.Rs2Intrinsics\"\253\001\n\033StartCameraRecording" +
      "Command\032N\n\007Request\022/\n\006header\030\001 \001(\0132\037.cmv" +
      "r.api.CommandHeader.Request\022\022\n\nvideo_pat" +
      "h\030\002 \001(\t\032<\n\010Feedback\0220\n\006header\030\001 \001(\0132 .cm" +
      "vr.api.CommandHeader.Feedback\"\226\001\n\032StopCa" +
      "meraRecordingCommand\032:\n\007Request\022/\n\006heade" +
      "r\030\001 \001(\0132\037.cmvr.api.CommandHeader.Request" +
      "\032<\n\010Feedback\0220\n\006header\030\001 \001(\0132 .cmvr.api." +
      "CommandHeader.Feedback\"\211\002\n\030GetRGBImageSt" +
      "reamCommand\032G\n\007Request\022/\n\006header\030\001 \001(\0132\037" +
      ".cmvr.api.CommandHeader.Request\022\013\n\003eof\030\002" +
      " \001(\010\032\243\001\n\010Feedback\0220\n\006header\030\001 \001(\0132 .cmvr" +
      ".api.CommandHeader.Feedback\022(\n\013color_fra" +
      "me\030\002 \001(\0132\023.cmvr.api.FrameData\022+\n\nintrins" +
      "ics\030\003 \001(\0132\027.cmvr.api.Rs2Intrinsics\022\016\n\006se" +
      "q_no\030\004 \001(\005\"\213\002\n\032GetDepthImageStreamComman" +
      "d\032G\n\007Request\022/\n\006header\030\001 \001(\0132\037.cmvr.api." +
      "CommandHeader.Request\022\013\n\003eof\030\002 \001(\010\032\243\001\n\010F" +
      "eedback\0220\n\006header\030\001 \001(\0132 .cmvr.api.Comma" +
      "ndHeader.Feedback\022(\n\013depth_frame\030\002 \001(\0132\023" +
      ".cmvr.api.FrameData\022+\n\nintrinsics\030\003 \001(\0132" +
      "\027.cmvr.api.Rs2Intrinsics\022\016\n\006seq_no\030\004 \001(\005" +
      "\"\265\002\n\032GetRGBDImagesStreamCommand\032G\n\007Reque" +
      "st\022/\n\006header\030\001 \001(\0132\037.cmvr.api.CommandHea" +
      "der.Request\022\013\n\003eof\030\002 \001(\010\032\315\001\n\010Feedback\0220\n" +
      "\006header\030\001 \001(\0132 .cmvr.api.CommandHeader.F" +
      "eedback\022(\n\013color_frame\030\002 \001(\0132\023.cmvr.api." +
      "FrameData\022(\n\013depth_frame\030\003 \001(\0132\023.cmvr.ap" +
      "i.FrameData\022+\n\nintrinsics\030\004 \001(\0132\027.cmvr.a" +
      "pi.Rs2Intrinsics\022\016\n\006seq_no\030\005 \001(\005b\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          cmvr.api.Common.getDescriptor(),
        });
    internal_static_cmvr_api_FrameData_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_cmvr_api_FrameData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_FrameData_descriptor,
        new java.lang.String[] { "Data", "Width", "Height", "Type", "Codec", "IsKeyFrame", });
    internal_static_cmvr_api_Rs2Intrinsics_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_cmvr_api_Rs2Intrinsics_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_Rs2Intrinsics_descriptor,
        new java.lang.String[] { "Cx", "Cy", "Fx", "Fy", "Coeffs", });
    internal_static_cmvr_api_CameraState_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_cmvr_api_CameraState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_CameraState_descriptor,
        new java.lang.String[] { "IsInitialized", "IsOpened", "IsStreaming", "IsRecording", "IsError", "ErrorMessage", "Fps", "Width", "Height", });
    internal_static_cmvr_api_GetCameraStateCommand_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_cmvr_api_GetCameraStateCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetCameraStateCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor =
      internal_static_cmvr_api_GetCameraStateCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetCameraStateCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetCameraStateCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetCameraStateCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetCameraStateCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetCameraStateCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "State", });
    internal_static_cmvr_api_StartCameraCommand_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_cmvr_api_StartCameraCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_StartCameraCommand_Request_descriptor =
      internal_static_cmvr_api_StartCameraCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_StartCameraCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor =
      internal_static_cmvr_api_StartCameraCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_StartCameraCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_StopCameraCommand_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_cmvr_api_StopCameraCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_StopCameraCommand_Request_descriptor =
      internal_static_cmvr_api_StopCameraCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_StopCameraCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor =
      internal_static_cmvr_api_StopCameraCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_StopCameraCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetRGBImageCommand_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_cmvr_api_GetRGBImageCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor =
      internal_static_cmvr_api_GetRGBImageCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetRGBImageCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetRGBImageCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetRGBImageCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "ColorFrame", "Intrinsics", });
    internal_static_cmvr_api_GetDepthImageCommand_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_cmvr_api_GetDepthImageCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor =
      internal_static_cmvr_api_GetDepthImageCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetDepthImageCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetDepthImageCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetDepthImageCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "DepthFrame", "Intrinsics", });
    internal_static_cmvr_api_GetRGBDImagesCommand_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_cmvr_api_GetRGBDImagesCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor =
      internal_static_cmvr_api_GetRGBDImagesCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetRGBDImagesCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetRGBDImagesCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "ColorFrame", "DepthFrame", "Intrinsics", });
    internal_static_cmvr_api_StartCameraRecordingCommand_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_cmvr_api_StartCameraRecordingCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraRecordingCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor =
      internal_static_cmvr_api_StartCameraRecordingCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_StartCameraRecordingCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraRecordingCommand_Request_descriptor,
        new java.lang.String[] { "Header", "VideoPath", });
    internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor =
      internal_static_cmvr_api_StartCameraRecordingCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StartCameraRecordingCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_StopCameraRecordingCommand_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_cmvr_api_StopCameraRecordingCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraRecordingCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor =
      internal_static_cmvr_api_StopCameraRecordingCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_StopCameraRecordingCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraRecordingCommand_Request_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor =
      internal_static_cmvr_api_StopCameraRecordingCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_StopCameraRecordingCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_cmvr_api_GetRGBImageStreamCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor =
      internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetRGBImageStreamCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageStreamCommand_Request_descriptor,
        new java.lang.String[] { "Header", "Eof", });
    internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetRGBImageStreamCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBImageStreamCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "ColorFrame", "Intrinsics", "SeqNo", });
    internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_cmvr_api_GetDepthImageStreamCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor =
      internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetDepthImageStreamCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageStreamCommand_Request_descriptor,
        new java.lang.String[] { "Header", "Eof", });
    internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetDepthImageStreamCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetDepthImageStreamCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "DepthFrame", "Intrinsics", "SeqNo", });
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor,
        new java.lang.String[] { });
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor =
      internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor.getNestedTypes().get(0);
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesStreamCommand_Request_descriptor,
        new java.lang.String[] { "Header", "Eof", });
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor =
      internal_static_cmvr_api_GetRGBDImagesStreamCommand_descriptor.getNestedTypes().get(1);
    internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_cmvr_api_GetRGBDImagesStreamCommand_Feedback_descriptor,
        new java.lang.String[] { "Header", "ColorFrame", "DepthFrame", "Intrinsics", "SeqNo", });
    cmvr.api.Common.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
