// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: user-events.proto
// Protobuf Java Version: 4.33.6

package com.daimler.mbcarkit.proto;

@com.google.protobuf.Generated
public final class UserEvents extends com.google.protobuf.GeneratedFile {
  private UserEvents() {}
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 33,
      /* patch= */ 6,
      /* suffix= */ "",
      "UserEvents");
  }
  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 AcknowledgeUserDataUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeUserDataUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();
  }
  /**
   * Protobuf type {@code proto.AcknowledgeUserDataUpdate}
   */
  public static final class AcknowledgeUserDataUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeUserDataUpdate)
      AcknowledgeUserDataUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeUserDataUpdate");
    }
    // Use AcknowledgeUserDataUpdate.newBuilder() to construct.
    private AcknowledgeUserDataUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeUserDataUpdate() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserDataUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserDataUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AcknowledgeUserDataUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeUserDataUpdate)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserDataUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserDataUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserDataUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeUserDataUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeUserDataUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeUserDataUpdate>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeUserDataUpdate>() {
      @java.lang.Override
      public AcknowledgeUserDataUpdate 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<AcknowledgeUserDataUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserDataUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UserDataUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.UserDataUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();

    /**
     * <code>string ciam_id = 2;</code>
     * @return The ciamId.
     */
    java.lang.String getCiamId();
    /**
     * <code>string ciam_id = 2;</code>
     * @return The bytes for ciamId.
     */
    com.google.protobuf.ByteString
        getCiamIdBytes();

    /**
     * <pre>
     * when was the event emitted? This is the time of the update,
     * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
     * </pre>
     *
     * <code>int64 emit_timestamp = 3;</code>
     * @return The emitTimestamp.
     */
    long getEmitTimestamp();

    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 8;</code>
     * @return The emitTimestampInMs.
     */
    long getEmitTimestampInMs();

    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     * @return Whether the oldData field is set.
     */
    boolean hasOldData();
    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     * @return The oldData.
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserData getOldData();
    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getOldDataOrBuilder();

    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     * @return Whether the newData field is set.
     */
    boolean hasNewData();
    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     * @return The newData.
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserData getNewData();
    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getNewDataOrBuilder();
  }
  /**
   * Protobuf type {@code proto.UserDataUpdate}
   */
  public static final class UserDataUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.UserDataUpdate)
      UserDataUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "UserDataUpdate");
    }
    // Use UserDataUpdate.newBuilder() to construct.
    private UserDataUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private UserDataUpdate() {
      ciamId_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserDataUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserDataUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.Builder.class);
    }

    private int bitField0_;
    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    public static final int CIAM_ID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ciamId_ = "";
    /**
     * <code>string ciam_id = 2;</code>
     * @return The ciamId.
     */
    @java.lang.Override
    public java.lang.String getCiamId() {
      java.lang.Object ref = ciamId_;
      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();
        ciamId_ = s;
        return s;
      }
    }
    /**
     * <code>string ciam_id = 2;</code>
     * @return The bytes for ciamId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCiamIdBytes() {
      java.lang.Object ref = ciamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ciamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EMIT_TIMESTAMP_FIELD_NUMBER = 3;
    private long emitTimestamp_ = 0L;
    /**
     * <pre>
     * when was the event emitted? This is the time of the update,
     * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
     * </pre>
     *
     * <code>int64 emit_timestamp = 3;</code>
     * @return The emitTimestamp.
     */
    @java.lang.Override
    public long getEmitTimestamp() {
      return emitTimestamp_;
    }

    public static final int EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER = 8;
    private long emitTimestampInMs_ = 0L;
    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 8;</code>
     * @return The emitTimestampInMs.
     */
    @java.lang.Override
    public long getEmitTimestampInMs() {
      return emitTimestampInMs_;
    }

    public static final int OLD_DATA_FIELD_NUMBER = 6;
    private com.daimler.mbcarkit.proto.UserEvents.CPDUserData oldData_;
    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     * @return Whether the oldData field is set.
     */
    @java.lang.Override
    public boolean hasOldData() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     * @return The oldData.
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getOldData() {
      return oldData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : oldData_;
    }
    /**
     * <code>.proto.CPDUserData old_data = 6;</code>
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getOldDataOrBuilder() {
      return oldData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : oldData_;
    }

    public static final int NEW_DATA_FIELD_NUMBER = 7;
    private com.daimler.mbcarkit.proto.UserEvents.CPDUserData newData_;
    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     * @return Whether the newData field is set.
     */
    @java.lang.Override
    public boolean hasNewData() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     * @return The newData.
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getNewData() {
      return newData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : newData_;
    }
    /**
     * <code>.proto.CPDUserData new_data = 7;</code>
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getNewDataOrBuilder() {
      return newData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : newData_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, ciamId_);
      }
      if (emitTimestamp_ != 0L) {
        output.writeInt64(3, emitTimestamp_);
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(6, getOldData());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(7, getNewData());
      }
      if (emitTimestampInMs_ != 0L) {
        output.writeInt64(8, emitTimestampInMs_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, ciamId_);
      }
      if (emitTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, emitTimestamp_);
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getOldData());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getNewData());
      }
      if (emitTimestampInMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, emitTimestampInMs_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate other = (com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) return false;
      if (!getCiamId()
          .equals(other.getCiamId())) return false;
      if (getEmitTimestamp()
          != other.getEmitTimestamp()) return false;
      if (getEmitTimestampInMs()
          != other.getEmitTimestampInMs()) return false;
      if (hasOldData() != other.hasOldData()) return false;
      if (hasOldData()) {
        if (!getOldData()
            .equals(other.getOldData())) return false;
      }
      if (hasNewData() != other.hasNewData()) return false;
      if (hasNewData()) {
        if (!getNewData()
            .equals(other.getNewData())) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (37 * hash) + CIAM_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCiamId().hashCode();
      hash = (37 * hash) + EMIT_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestamp());
      hash = (37 * hash) + EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestampInMs());
      if (hasOldData()) {
        hash = (37 * hash) + OLD_DATA_FIELD_NUMBER;
        hash = (53 * hash) + getOldData().hashCode();
      }
      if (hasNewData()) {
        hash = (37 * hash) + NEW_DATA_FIELD_NUMBER;
        hash = (53 * hash) + getNewData().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.UserDataUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.UserDataUpdate)
        com.daimler.mbcarkit.proto.UserEvents.UserDataUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserDataUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserDataUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          internalGetOldDataFieldBuilder();
          internalGetNewDataFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sequenceNumber_ = 0;
        ciamId_ = "";
        emitTimestamp_ = 0L;
        emitTimestampInMs_ = 0L;
        oldData_ = null;
        if (oldDataBuilder_ != null) {
          oldDataBuilder_.dispose();
          oldDataBuilder_ = null;
        }
        newData_ = null;
        if (newDataBuilder_ != null) {
          newDataBuilder_.dispose();
          newDataBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserDataUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate result = new com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.ciamId_ = ciamId_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.emitTimestamp_ = emitTimestamp_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.emitTimestampInMs_ = emitTimestampInMs_;
        }
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.oldData_ = oldDataBuilder_ == null
              ? oldData_
              : oldDataBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.newData_ = newDataBuilder_ == null
              ? newData_
              : newDataBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        if (!other.getCiamId().isEmpty()) {
          ciamId_ = other.ciamId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.getEmitTimestamp() != 0L) {
          setEmitTimestamp(other.getEmitTimestamp());
        }
        if (other.getEmitTimestampInMs() != 0L) {
          setEmitTimestampInMs(other.getEmitTimestampInMs());
        }
        if (other.hasOldData()) {
          mergeOldData(other.getOldData());
        }
        if (other.hasNewData()) {
          mergeNewData(other.getNewData());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                ciamId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                emitTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 50: {
                input.readMessage(
                    internalGetOldDataFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    internalGetNewDataFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 58
              case 64: {
                emitTimestampInMs_ = input.readInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 64
              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 int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object ciamId_ = "";
      /**
       * <code>string ciam_id = 2;</code>
       * @return The ciamId.
       */
      public java.lang.String getCiamId() {
        java.lang.Object ref = ciamId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ciamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @return The bytes for ciamId.
       */
      public com.google.protobuf.ByteString
          getCiamIdBytes() {
        java.lang.Object ref = ciamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ciamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @param value The ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearCiamId() {
        ciamId_ = getDefaultInstance().getCiamId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @param value The bytes for ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long emitTimestamp_ ;
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @return The emitTimestamp.
       */
      @java.lang.Override
      public long getEmitTimestamp() {
        return emitTimestamp_;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @param value The emitTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestamp(long value) {

        emitTimestamp_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000004);
        emitTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long emitTimestampInMs_ ;
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @return The emitTimestampInMs.
       */
      @java.lang.Override
      public long getEmitTimestampInMs() {
        return emitTimestampInMs_;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @param value The emitTimestampInMs to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestampInMs(long value) {

        emitTimestampInMs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestampInMs() {
        bitField0_ = (bitField0_ & ~0x00000008);
        emitTimestampInMs_ = 0L;
        onChanged();
        return this;
      }

      private com.daimler.mbcarkit.proto.UserEvents.CPDUserData oldData_;
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder> oldDataBuilder_;
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       * @return Whether the oldData field is set.
       */
      public boolean hasOldData() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       * @return The oldData.
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getOldData() {
        if (oldDataBuilder_ == null) {
          return oldData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : oldData_;
        } else {
          return oldDataBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public Builder setOldData(com.daimler.mbcarkit.proto.UserEvents.CPDUserData value) {
        if (oldDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          oldData_ = value;
        } else {
          oldDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public Builder setOldData(
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder builderForValue) {
        if (oldDataBuilder_ == null) {
          oldData_ = builderForValue.build();
        } else {
          oldDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public Builder mergeOldData(com.daimler.mbcarkit.proto.UserEvents.CPDUserData value) {
        if (oldDataBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            oldData_ != null &&
            oldData_ != com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance()) {
            getOldDataBuilder().mergeFrom(value);
          } else {
            oldData_ = value;
          }
        } else {
          oldDataBuilder_.mergeFrom(value);
        }
        if (oldData_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public Builder clearOldData() {
        bitField0_ = (bitField0_ & ~0x00000010);
        oldData_ = null;
        if (oldDataBuilder_ != null) {
          oldDataBuilder_.dispose();
          oldDataBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder getOldDataBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return internalGetOldDataFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getOldDataOrBuilder() {
        if (oldDataBuilder_ != null) {
          return oldDataBuilder_.getMessageOrBuilder();
        } else {
          return oldData_ == null ?
              com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : oldData_;
        }
      }
      /**
       * <code>.proto.CPDUserData old_data = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder> 
          internalGetOldDataFieldBuilder() {
        if (oldDataBuilder_ == null) {
          oldDataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder>(
                  getOldData(),
                  getParentForChildren(),
                  isClean());
          oldData_ = null;
        }
        return oldDataBuilder_;
      }

      private com.daimler.mbcarkit.proto.UserEvents.CPDUserData newData_;
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder> newDataBuilder_;
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       * @return Whether the newData field is set.
       */
      public boolean hasNewData() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       * @return The newData.
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getNewData() {
        if (newDataBuilder_ == null) {
          return newData_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : newData_;
        } else {
          return newDataBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public Builder setNewData(com.daimler.mbcarkit.proto.UserEvents.CPDUserData value) {
        if (newDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          newData_ = value;
        } else {
          newDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public Builder setNewData(
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder builderForValue) {
        if (newDataBuilder_ == null) {
          newData_ = builderForValue.build();
        } else {
          newDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public Builder mergeNewData(com.daimler.mbcarkit.proto.UserEvents.CPDUserData value) {
        if (newDataBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            newData_ != null &&
            newData_ != com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance()) {
            getNewDataBuilder().mergeFrom(value);
          } else {
            newData_ = value;
          }
        } else {
          newDataBuilder_.mergeFrom(value);
        }
        if (newData_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public Builder clearNewData() {
        bitField0_ = (bitField0_ & ~0x00000020);
        newData_ = null;
        if (newDataBuilder_ != null) {
          newDataBuilder_.dispose();
          newDataBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder getNewDataBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return internalGetNewDataFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder getNewDataOrBuilder() {
        if (newDataBuilder_ != null) {
          return newDataBuilder_.getMessageOrBuilder();
        } else {
          return newData_ == null ?
              com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance() : newData_;
        }
      }
      /**
       * <code>.proto.CPDUserData new_data = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder> 
          internalGetNewDataFieldBuilder() {
        if (newDataBuilder_ == null) {
          newDataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.daimler.mbcarkit.proto.UserEvents.CPDUserData, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder>(
                  getNewData(),
                  getParentForChildren(),
                  isClean());
          newData_ = null;
        }
        return newDataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:proto.UserDataUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.UserDataUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UserDataUpdate>
        PARSER = new com.google.protobuf.AbstractParser<UserDataUpdate>() {
      @java.lang.Override
      public UserDataUpdate 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<UserDataUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.UserDataUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcknowledgeUserVehicleAuthChangedUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeUserVehicleAuthChangedUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();
  }
  /**
   * Protobuf type {@code proto.AcknowledgeUserVehicleAuthChangedUpdate}
   */
  public static final class AcknowledgeUserVehicleAuthChangedUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeUserVehicleAuthChangedUpdate)
      AcknowledgeUserVehicleAuthChangedUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeUserVehicleAuthChangedUpdate");
    }
    // Use AcknowledgeUserVehicleAuthChangedUpdate.newBuilder() to construct.
    private AcknowledgeUserVehicleAuthChangedUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeUserVehicleAuthChangedUpdate() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AcknowledgeUserVehicleAuthChangedUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeUserVehicleAuthChangedUpdate)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeUserVehicleAuthChangedUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeUserVehicleAuthChangedUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeUserVehicleAuthChangedUpdate>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeUserVehicleAuthChangedUpdate>() {
      @java.lang.Override
      public AcknowledgeUserVehicleAuthChangedUpdate 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<AcknowledgeUserVehicleAuthChangedUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserVehicleAuthChangedUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcknowledgeAbilityToGetVehicleMasterDataFromRestAPIOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();
  }
  /**
   * Protobuf type {@code proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI}
   */
  public static final class AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)
      AcknowledgeAbilityToGetVehicleMasterDataFromRestAPIOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI");
    }
    // Use AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.newBuilder() to construct.
    private AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPIOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI>() {
      @java.lang.Override
      public AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI 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<AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UserVehicleAuthChangedUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.UserVehicleAuthChangedUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();

    /**
     * <code>string ciam_id = 2;</code>
     * @return The ciamId.
     */
    java.lang.String getCiamId();
    /**
     * <code>string ciam_id = 2;</code>
     * @return The bytes for ciamId.
     */
    com.google.protobuf.ByteString
        getCiamIdBytes();

    /**
     * <pre>
     * when was the event emitted? This is the time of the update,
     * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
     * </pre>
     *
     * <code>int64 emit_timestamp = 3;</code>
     * @return The emitTimestamp.
     */
    long getEmitTimestamp();

    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 8;</code>
     * @return The emitTimestampInMs.
     */
    long getEmitTimestampInMs();
  }
  /**
   * Protobuf type {@code proto.UserVehicleAuthChangedUpdate}
   */
  public static final class UserVehicleAuthChangedUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.UserVehicleAuthChangedUpdate)
      UserVehicleAuthChangedUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "UserVehicleAuthChangedUpdate");
    }
    // Use UserVehicleAuthChangedUpdate.newBuilder() to construct.
    private UserVehicleAuthChangedUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private UserVehicleAuthChangedUpdate() {
      ciamId_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserVehicleAuthChangedUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserVehicleAuthChangedUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    public static final int CIAM_ID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ciamId_ = "";
    /**
     * <code>string ciam_id = 2;</code>
     * @return The ciamId.
     */
    @java.lang.Override
    public java.lang.String getCiamId() {
      java.lang.Object ref = ciamId_;
      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();
        ciamId_ = s;
        return s;
      }
    }
    /**
     * <code>string ciam_id = 2;</code>
     * @return The bytes for ciamId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCiamIdBytes() {
      java.lang.Object ref = ciamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ciamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EMIT_TIMESTAMP_FIELD_NUMBER = 3;
    private long emitTimestamp_ = 0L;
    /**
     * <pre>
     * when was the event emitted? This is the time of the update,
     * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
     * </pre>
     *
     * <code>int64 emit_timestamp = 3;</code>
     * @return The emitTimestamp.
     */
    @java.lang.Override
    public long getEmitTimestamp() {
      return emitTimestamp_;
    }

    public static final int EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER = 8;
    private long emitTimestampInMs_ = 0L;
    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 8;</code>
     * @return The emitTimestampInMs.
     */
    @java.lang.Override
    public long getEmitTimestampInMs() {
      return emitTimestampInMs_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, ciamId_);
      }
      if (emitTimestamp_ != 0L) {
        output.writeInt64(3, emitTimestamp_);
      }
      if (emitTimestampInMs_ != 0L) {
        output.writeInt64(8, emitTimestampInMs_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, ciamId_);
      }
      if (emitTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, emitTimestamp_);
      }
      if (emitTimestampInMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, emitTimestampInMs_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate other = (com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) return false;
      if (!getCiamId()
          .equals(other.getCiamId())) return false;
      if (getEmitTimestamp()
          != other.getEmitTimestamp()) return false;
      if (getEmitTimestampInMs()
          != other.getEmitTimestampInMs()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (37 * hash) + CIAM_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCiamId().hashCode();
      hash = (37 * hash) + EMIT_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestamp());
      hash = (37 * hash) + EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestampInMs());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.UserVehicleAuthChangedUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.UserVehicleAuthChangedUpdate)
        com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserVehicleAuthChangedUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserVehicleAuthChangedUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sequenceNumber_ = 0;
        ciamId_ = "";
        emitTimestamp_ = 0L;
        emitTimestampInMs_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserVehicleAuthChangedUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate result = new com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.ciamId_ = ciamId_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.emitTimestamp_ = emitTimestamp_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.emitTimestampInMs_ = emitTimestampInMs_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        if (!other.getCiamId().isEmpty()) {
          ciamId_ = other.ciamId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.getEmitTimestamp() != 0L) {
          setEmitTimestamp(other.getEmitTimestamp());
        }
        if (other.getEmitTimestampInMs() != 0L) {
          setEmitTimestampInMs(other.getEmitTimestampInMs());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                ciamId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                emitTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 64: {
                emitTimestampInMs_ = input.readInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 64
              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 int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object ciamId_ = "";
      /**
       * <code>string ciam_id = 2;</code>
       * @return The ciamId.
       */
      public java.lang.String getCiamId() {
        java.lang.Object ref = ciamId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ciamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @return The bytes for ciamId.
       */
      public com.google.protobuf.ByteString
          getCiamIdBytes() {
        java.lang.Object ref = ciamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ciamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @param value The ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearCiamId() {
        ciamId_ = getDefaultInstance().getCiamId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 2;</code>
       * @param value The bytes for ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long emitTimestamp_ ;
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @return The emitTimestamp.
       */
      @java.lang.Override
      public long getEmitTimestamp() {
        return emitTimestamp_;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @param value The emitTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestamp(long value) {

        emitTimestamp_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update,
       * not when the attributes where changed. To compare attribute changes, you need to look into each attribute timestamp
       * </pre>
       *
       * <code>int64 emit_timestamp = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000004);
        emitTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long emitTimestampInMs_ ;
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @return The emitTimestampInMs.
       */
      @java.lang.Override
      public long getEmitTimestampInMs() {
        return emitTimestampInMs_;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @param value The emitTimestampInMs to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestampInMs(long value) {

        emitTimestampInMs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestampInMs() {
        bitField0_ = (bitField0_ & ~0x00000008);
        emitTimestampInMs_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.UserVehicleAuthChangedUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.UserVehicleAuthChangedUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UserVehicleAuthChangedUpdate>
        PARSER = new com.google.protobuf.AbstractParser<UserVehicleAuthChangedUpdate>() {
      @java.lang.Override
      public UserVehicleAuthChangedUpdate 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<UserVehicleAuthChangedUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.UserVehicleAuthChangedUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CPDUserDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.CPDUserData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string ciam_id = 1;</code>
     * @return The ciamId.
     */
    java.lang.String getCiamId();
    /**
     * <code>string ciam_id = 1;</code>
     * @return The bytes for ciamId.
     */
    com.google.protobuf.ByteString
        getCiamIdBytes();

    /**
     * <code>string user_id = 2;</code>
     * @return The userId.
     */
    java.lang.String getUserId();
    /**
     * <code>string user_id = 2;</code>
     * @return The bytes for userId.
     */
    com.google.protobuf.ByteString
        getUserIdBytes();

    /**
     * <code>string first_name = 3;</code>
     * @return The firstName.
     */
    java.lang.String getFirstName();
    /**
     * <code>string first_name = 3;</code>
     * @return The bytes for firstName.
     */
    com.google.protobuf.ByteString
        getFirstNameBytes();

    /**
     * <code>string last_name1 = 4;</code>
     * @return The lastName1.
     */
    java.lang.String getLastName1();
    /**
     * <code>string last_name1 = 4;</code>
     * @return The bytes for lastName1.
     */
    com.google.protobuf.ByteString
        getLastName1Bytes();

    /**
     * <code>string last_name2 = 5;</code>
     * @return The lastName2.
     */
    java.lang.String getLastName2();
    /**
     * <code>string last_name2 = 5;</code>
     * @return The bytes for lastName2.
     */
    com.google.protobuf.ByteString
        getLastName2Bytes();

    /**
     * <code>string title = 6;</code>
     * @return The title.
     */
    java.lang.String getTitle();
    /**
     * <code>string title = 6;</code>
     * @return The bytes for title.
     */
    com.google.protobuf.ByteString
        getTitleBytes();

    /**
     * <code>string name_prefix = 7;</code>
     * @return The namePrefix.
     */
    java.lang.String getNamePrefix();
    /**
     * <code>string name_prefix = 7;</code>
     * @return The bytes for namePrefix.
     */
    com.google.protobuf.ByteString
        getNamePrefixBytes();

    /**
     * <code>string middle_initial = 8;</code>
     * @return The middleInitial.
     */
    java.lang.String getMiddleInitial();
    /**
     * <code>string middle_initial = 8;</code>
     * @return The bytes for middleInitial.
     */
    com.google.protobuf.ByteString
        getMiddleInitialBytes();

    /**
     * <code>string salutation_code = 9;</code>
     * @return The salutationCode.
     */
    java.lang.String getSalutationCode();
    /**
     * <code>string salutation_code = 9;</code>
     * @return The bytes for salutationCode.
     */
    com.google.protobuf.ByteString
        getSalutationCodeBytes();

    /**
     * <code>string email = 10;</code>
     * @return The email.
     */
    java.lang.String getEmail();
    /**
     * <code>string email = 10;</code>
     * @return The bytes for email.
     */
    com.google.protobuf.ByteString
        getEmailBytes();

    /**
     * <code>string landline_phone = 11;</code>
     * @return The landlinePhone.
     */
    java.lang.String getLandlinePhone();
    /**
     * <code>string landline_phone = 11;</code>
     * @return The bytes for landlinePhone.
     */
    com.google.protobuf.ByteString
        getLandlinePhoneBytes();

    /**
     * <code>string mobile_phone_number = 12;</code>
     * @return The mobilePhoneNumber.
     */
    java.lang.String getMobilePhoneNumber();
    /**
     * <code>string mobile_phone_number = 12;</code>
     * @return The bytes for mobilePhoneNumber.
     */
    com.google.protobuf.ByteString
        getMobilePhoneNumberBytes();

    /**
     * <code>string created_at = 13;</code>
     * @return The createdAt.
     */
    java.lang.String getCreatedAt();
    /**
     * <code>string created_at = 13;</code>
     * @return The bytes for createdAt.
     */
    com.google.protobuf.ByteString
        getCreatedAtBytes();

    /**
     * <code>string created_by = 14;</code>
     * @return The createdBy.
     */
    java.lang.String getCreatedBy();
    /**
     * <code>string created_by = 14;</code>
     * @return The bytes for createdBy.
     */
    com.google.protobuf.ByteString
        getCreatedByBytes();

    /**
     * <code>string updated_at = 15;</code>
     * @return The updatedAt.
     */
    java.lang.String getUpdatedAt();
    /**
     * <code>string updated_at = 15;</code>
     * @return The bytes for updatedAt.
     */
    com.google.protobuf.ByteString
        getUpdatedAtBytes();

    /**
     * <code>string birthday = 28;</code>
     * @return The birthday.
     */
    java.lang.String getBirthday();
    /**
     * <code>string birthday = 28;</code>
     * @return The bytes for birthday.
     */
    com.google.protobuf.ByteString
        getBirthdayBytes();

    /**
     * <code>string preferred_language_code = 29;</code>
     * @return The preferredLanguageCode.
     */
    java.lang.String getPreferredLanguageCode();
    /**
     * <code>string preferred_language_code = 29;</code>
     * @return The bytes for preferredLanguageCode.
     */
    com.google.protobuf.ByteString
        getPreferredLanguageCodeBytes();

    /**
     * <code>string account_country_code = 30;</code>
     * @return The accountCountryCode.
     */
    java.lang.String getAccountCountryCode();
    /**
     * <code>string account_country_code = 30;</code>
     * @return The bytes for accountCountryCode.
     */
    com.google.protobuf.ByteString
        getAccountCountryCodeBytes();

    /**
     * <pre>
     * doc says: TODO
     * </pre>
     *
     * <code>string uc_id = 31;</code>
     * @return The ucId.
     */
    java.lang.String getUcId();
    /**
     * <pre>
     * doc says: TODO
     * </pre>
     *
     * <code>string uc_id = 31;</code>
     * @return The bytes for ucId.
     */
    com.google.protobuf.ByteString
        getUcIdBytes();

    /**
     * <code>bool vip = 32;</code>
     * @return The vip.
     */
    boolean getVip();

    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     * @return Whether the address field is set.
     */
    boolean hasAddress();
    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     * @return The address.
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getAddress();
    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder getAddressOrBuilder();

    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     * @return Whether the communicationPreference field is set.
     */
    boolean hasCommunicationPreference();
    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     * @return The communicationPreference.
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getCommunicationPreference();
    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     */
    com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder getCommunicationPreferenceOrBuilder();
  }
  /**
   * Protobuf type {@code proto.CPDUserData}
   */
  public static final class CPDUserData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.CPDUserData)
      CPDUserDataOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "CPDUserData");
    }
    // Use CPDUserData.newBuilder() to construct.
    private CPDUserData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CPDUserData() {
      ciamId_ = "";
      userId_ = "";
      firstName_ = "";
      lastName1_ = "";
      lastName2_ = "";
      title_ = "";
      namePrefix_ = "";
      middleInitial_ = "";
      salutationCode_ = "";
      email_ = "";
      landlinePhone_ = "";
      mobilePhoneNumber_ = "";
      createdAt_ = "";
      createdBy_ = "";
      updatedAt_ = "";
      birthday_ = "";
      preferredLanguageCode_ = "";
      accountCountryCode_ = "";
      ucId_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.CPDUserData.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder.class);
    }

    private int bitField0_;
    public static final int CIAM_ID_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ciamId_ = "";
    /**
     * <code>string ciam_id = 1;</code>
     * @return The ciamId.
     */
    @java.lang.Override
    public java.lang.String getCiamId() {
      java.lang.Object ref = ciamId_;
      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();
        ciamId_ = s;
        return s;
      }
    }
    /**
     * <code>string ciam_id = 1;</code>
     * @return The bytes for ciamId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCiamIdBytes() {
      java.lang.Object ref = ciamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ciamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int USER_ID_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object userId_ = "";
    /**
     * <code>string user_id = 2;</code>
     * @return The userId.
     */
    @java.lang.Override
    public java.lang.String getUserId() {
      java.lang.Object ref = userId_;
      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();
        userId_ = s;
        return s;
      }
    }
    /**
     * <code>string user_id = 2;</code>
     * @return The bytes for userId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUserIdBytes() {
      java.lang.Object ref = userId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FIRST_NAME_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object firstName_ = "";
    /**
     * <code>string first_name = 3;</code>
     * @return The firstName.
     */
    @java.lang.Override
    public java.lang.String getFirstName() {
      java.lang.Object ref = firstName_;
      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();
        firstName_ = s;
        return s;
      }
    }
    /**
     * <code>string first_name = 3;</code>
     * @return The bytes for firstName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFirstNameBytes() {
      java.lang.Object ref = firstName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        firstName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LAST_NAME1_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object lastName1_ = "";
    /**
     * <code>string last_name1 = 4;</code>
     * @return The lastName1.
     */
    @java.lang.Override
    public java.lang.String getLastName1() {
      java.lang.Object ref = lastName1_;
      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();
        lastName1_ = s;
        return s;
      }
    }
    /**
     * <code>string last_name1 = 4;</code>
     * @return The bytes for lastName1.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLastName1Bytes() {
      java.lang.Object ref = lastName1_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        lastName1_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LAST_NAME2_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object lastName2_ = "";
    /**
     * <code>string last_name2 = 5;</code>
     * @return The lastName2.
     */
    @java.lang.Override
    public java.lang.String getLastName2() {
      java.lang.Object ref = lastName2_;
      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();
        lastName2_ = s;
        return s;
      }
    }
    /**
     * <code>string last_name2 = 5;</code>
     * @return The bytes for lastName2.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLastName2Bytes() {
      java.lang.Object ref = lastName2_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        lastName2_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TITLE_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object title_ = "";
    /**
     * <code>string title = 6;</code>
     * @return The title.
     */
    @java.lang.Override
    public java.lang.String getTitle() {
      java.lang.Object ref = title_;
      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();
        title_ = s;
        return s;
      }
    }
    /**
     * <code>string title = 6;</code>
     * @return The bytes for title.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTitleBytes() {
      java.lang.Object ref = title_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        title_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_PREFIX_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object namePrefix_ = "";
    /**
     * <code>string name_prefix = 7;</code>
     * @return The namePrefix.
     */
    @java.lang.Override
    public java.lang.String getNamePrefix() {
      java.lang.Object ref = namePrefix_;
      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();
        namePrefix_ = s;
        return s;
      }
    }
    /**
     * <code>string name_prefix = 7;</code>
     * @return The bytes for namePrefix.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNamePrefixBytes() {
      java.lang.Object ref = namePrefix_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        namePrefix_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MIDDLE_INITIAL_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private volatile java.lang.Object middleInitial_ = "";
    /**
     * <code>string middle_initial = 8;</code>
     * @return The middleInitial.
     */
    @java.lang.Override
    public java.lang.String getMiddleInitial() {
      java.lang.Object ref = middleInitial_;
      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();
        middleInitial_ = s;
        return s;
      }
    }
    /**
     * <code>string middle_initial = 8;</code>
     * @return The bytes for middleInitial.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMiddleInitialBytes() {
      java.lang.Object ref = middleInitial_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        middleInitial_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SALUTATION_CODE_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private volatile java.lang.Object salutationCode_ = "";
    /**
     * <code>string salutation_code = 9;</code>
     * @return The salutationCode.
     */
    @java.lang.Override
    public java.lang.String getSalutationCode() {
      java.lang.Object ref = salutationCode_;
      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();
        salutationCode_ = s;
        return s;
      }
    }
    /**
     * <code>string salutation_code = 9;</code>
     * @return The bytes for salutationCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSalutationCodeBytes() {
      java.lang.Object ref = salutationCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        salutationCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EMAIL_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object email_ = "";
    /**
     * <code>string email = 10;</code>
     * @return The email.
     */
    @java.lang.Override
    public java.lang.String getEmail() {
      java.lang.Object ref = email_;
      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();
        email_ = s;
        return s;
      }
    }
    /**
     * <code>string email = 10;</code>
     * @return The bytes for email.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEmailBytes() {
      java.lang.Object ref = email_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        email_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LANDLINE_PHONE_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object landlinePhone_ = "";
    /**
     * <code>string landline_phone = 11;</code>
     * @return The landlinePhone.
     */
    @java.lang.Override
    public java.lang.String getLandlinePhone() {
      java.lang.Object ref = landlinePhone_;
      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();
        landlinePhone_ = s;
        return s;
      }
    }
    /**
     * <code>string landline_phone = 11;</code>
     * @return The bytes for landlinePhone.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLandlinePhoneBytes() {
      java.lang.Object ref = landlinePhone_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        landlinePhone_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MOBILE_PHONE_NUMBER_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private volatile java.lang.Object mobilePhoneNumber_ = "";
    /**
     * <code>string mobile_phone_number = 12;</code>
     * @return The mobilePhoneNumber.
     */
    @java.lang.Override
    public java.lang.String getMobilePhoneNumber() {
      java.lang.Object ref = mobilePhoneNumber_;
      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();
        mobilePhoneNumber_ = s;
        return s;
      }
    }
    /**
     * <code>string mobile_phone_number = 12;</code>
     * @return The bytes for mobilePhoneNumber.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMobilePhoneNumberBytes() {
      java.lang.Object ref = mobilePhoneNumber_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mobilePhoneNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CREATED_AT_FIELD_NUMBER = 13;
    @SuppressWarnings("serial")
    private volatile java.lang.Object createdAt_ = "";
    /**
     * <code>string created_at = 13;</code>
     * @return The createdAt.
     */
    @java.lang.Override
    public java.lang.String getCreatedAt() {
      java.lang.Object ref = createdAt_;
      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();
        createdAt_ = s;
        return s;
      }
    }
    /**
     * <code>string created_at = 13;</code>
     * @return The bytes for createdAt.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCreatedAtBytes() {
      java.lang.Object ref = createdAt_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        createdAt_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CREATED_BY_FIELD_NUMBER = 14;
    @SuppressWarnings("serial")
    private volatile java.lang.Object createdBy_ = "";
    /**
     * <code>string created_by = 14;</code>
     * @return The createdBy.
     */
    @java.lang.Override
    public java.lang.String getCreatedBy() {
      java.lang.Object ref = createdBy_;
      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();
        createdBy_ = s;
        return s;
      }
    }
    /**
     * <code>string created_by = 14;</code>
     * @return The bytes for createdBy.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCreatedByBytes() {
      java.lang.Object ref = createdBy_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        createdBy_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int UPDATED_AT_FIELD_NUMBER = 15;
    @SuppressWarnings("serial")
    private volatile java.lang.Object updatedAt_ = "";
    /**
     * <code>string updated_at = 15;</code>
     * @return The updatedAt.
     */
    @java.lang.Override
    public java.lang.String getUpdatedAt() {
      java.lang.Object ref = updatedAt_;
      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();
        updatedAt_ = s;
        return s;
      }
    }
    /**
     * <code>string updated_at = 15;</code>
     * @return The bytes for updatedAt.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUpdatedAtBytes() {
      java.lang.Object ref = updatedAt_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        updatedAt_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BIRTHDAY_FIELD_NUMBER = 28;
    @SuppressWarnings("serial")
    private volatile java.lang.Object birthday_ = "";
    /**
     * <code>string birthday = 28;</code>
     * @return The birthday.
     */
    @java.lang.Override
    public java.lang.String getBirthday() {
      java.lang.Object ref = birthday_;
      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();
        birthday_ = s;
        return s;
      }
    }
    /**
     * <code>string birthday = 28;</code>
     * @return The bytes for birthday.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getBirthdayBytes() {
      java.lang.Object ref = birthday_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        birthday_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PREFERRED_LANGUAGE_CODE_FIELD_NUMBER = 29;
    @SuppressWarnings("serial")
    private volatile java.lang.Object preferredLanguageCode_ = "";
    /**
     * <code>string preferred_language_code = 29;</code>
     * @return The preferredLanguageCode.
     */
    @java.lang.Override
    public java.lang.String getPreferredLanguageCode() {
      java.lang.Object ref = preferredLanguageCode_;
      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();
        preferredLanguageCode_ = s;
        return s;
      }
    }
    /**
     * <code>string preferred_language_code = 29;</code>
     * @return The bytes for preferredLanguageCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPreferredLanguageCodeBytes() {
      java.lang.Object ref = preferredLanguageCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        preferredLanguageCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ACCOUNT_COUNTRY_CODE_FIELD_NUMBER = 30;
    @SuppressWarnings("serial")
    private volatile java.lang.Object accountCountryCode_ = "";
    /**
     * <code>string account_country_code = 30;</code>
     * @return The accountCountryCode.
     */
    @java.lang.Override
    public java.lang.String getAccountCountryCode() {
      java.lang.Object ref = accountCountryCode_;
      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();
        accountCountryCode_ = s;
        return s;
      }
    }
    /**
     * <code>string account_country_code = 30;</code>
     * @return The bytes for accountCountryCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAccountCountryCodeBytes() {
      java.lang.Object ref = accountCountryCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        accountCountryCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int UC_ID_FIELD_NUMBER = 31;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ucId_ = "";
    /**
     * <pre>
     * doc says: TODO
     * </pre>
     *
     * <code>string uc_id = 31;</code>
     * @return The ucId.
     */
    @java.lang.Override
    public java.lang.String getUcId() {
      java.lang.Object ref = ucId_;
      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();
        ucId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * doc says: TODO
     * </pre>
     *
     * <code>string uc_id = 31;</code>
     * @return The bytes for ucId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getUcIdBytes() {
      java.lang.Object ref = ucId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ucId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VIP_FIELD_NUMBER = 32;
    private boolean vip_ = false;
    /**
     * <code>bool vip = 32;</code>
     * @return The vip.
     */
    @java.lang.Override
    public boolean getVip() {
      return vip_;
    }

    public static final int ADDRESS_FIELD_NUMBER = 33;
    private com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress address_;
    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     * @return Whether the address field is set.
     */
    @java.lang.Override
    public boolean hasAddress() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     * @return The address.
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getAddress() {
      return address_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance() : address_;
    }
    /**
     * <code>.proto.CPDUserAddress address = 33;</code>
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder getAddressOrBuilder() {
      return address_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance() : address_;
    }

    public static final int COMMUNICATION_PREFERENCE_FIELD_NUMBER = 34;
    private com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference communicationPreference_;
    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     * @return Whether the communicationPreference field is set.
     */
    @java.lang.Override
    public boolean hasCommunicationPreference() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     * @return The communicationPreference.
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getCommunicationPreference() {
      return communicationPreference_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance() : communicationPreference_;
    }
    /**
     * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
     */
    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder getCommunicationPreferenceOrBuilder() {
      return communicationPreference_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance() : communicationPreference_;
    }

    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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, ciamId_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(userId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, userId_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(firstName_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, firstName_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lastName1_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, lastName1_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lastName2_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, lastName2_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 6, title_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(namePrefix_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 7, namePrefix_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(middleInitial_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 8, middleInitial_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(salutationCode_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 9, salutationCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 10, email_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(landlinePhone_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 11, landlinePhone_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mobilePhoneNumber_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 12, mobilePhoneNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(createdAt_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 13, createdAt_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(createdBy_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 14, createdBy_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(updatedAt_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 15, updatedAt_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(birthday_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 28, birthday_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(preferredLanguageCode_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 29, preferredLanguageCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(accountCountryCode_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 30, accountCountryCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ucId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 31, ucId_);
      }
      if (vip_ != false) {
        output.writeBool(32, vip_);
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(33, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(34, getCommunicationPreference());
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, ciamId_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(userId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, userId_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(firstName_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, firstName_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lastName1_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, lastName1_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(lastName2_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, lastName2_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, title_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(namePrefix_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(7, namePrefix_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(middleInitial_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(8, middleInitial_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(salutationCode_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, salutationCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(email_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, email_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(landlinePhone_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, landlinePhone_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mobilePhoneNumber_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(12, mobilePhoneNumber_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(createdAt_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(13, createdAt_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(createdBy_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(14, createdBy_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(updatedAt_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(15, updatedAt_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(birthday_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(28, birthday_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(preferredLanguageCode_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(29, preferredLanguageCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(accountCountryCode_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(30, accountCountryCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ucId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(31, ucId_);
      }
      if (vip_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(32, vip_);
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(33, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(34, getCommunicationPreference());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserData)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.CPDUserData other = (com.daimler.mbcarkit.proto.UserEvents.CPDUserData) obj;

      if (!getCiamId()
          .equals(other.getCiamId())) return false;
      if (!getUserId()
          .equals(other.getUserId())) return false;
      if (!getFirstName()
          .equals(other.getFirstName())) return false;
      if (!getLastName1()
          .equals(other.getLastName1())) return false;
      if (!getLastName2()
          .equals(other.getLastName2())) return false;
      if (!getTitle()
          .equals(other.getTitle())) return false;
      if (!getNamePrefix()
          .equals(other.getNamePrefix())) return false;
      if (!getMiddleInitial()
          .equals(other.getMiddleInitial())) return false;
      if (!getSalutationCode()
          .equals(other.getSalutationCode())) return false;
      if (!getEmail()
          .equals(other.getEmail())) return false;
      if (!getLandlinePhone()
          .equals(other.getLandlinePhone())) return false;
      if (!getMobilePhoneNumber()
          .equals(other.getMobilePhoneNumber())) return false;
      if (!getCreatedAt()
          .equals(other.getCreatedAt())) return false;
      if (!getCreatedBy()
          .equals(other.getCreatedBy())) return false;
      if (!getUpdatedAt()
          .equals(other.getUpdatedAt())) return false;
      if (!getBirthday()
          .equals(other.getBirthday())) return false;
      if (!getPreferredLanguageCode()
          .equals(other.getPreferredLanguageCode())) return false;
      if (!getAccountCountryCode()
          .equals(other.getAccountCountryCode())) return false;
      if (!getUcId()
          .equals(other.getUcId())) return false;
      if (getVip()
          != other.getVip()) return false;
      if (hasAddress() != other.hasAddress()) return false;
      if (hasAddress()) {
        if (!getAddress()
            .equals(other.getAddress())) return false;
      }
      if (hasCommunicationPreference() != other.hasCommunicationPreference()) return false;
      if (hasCommunicationPreference()) {
        if (!getCommunicationPreference()
            .equals(other.getCommunicationPreference())) 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) + CIAM_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCiamId().hashCode();
      hash = (37 * hash) + USER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getUserId().hashCode();
      hash = (37 * hash) + FIRST_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getFirstName().hashCode();
      hash = (37 * hash) + LAST_NAME1_FIELD_NUMBER;
      hash = (53 * hash) + getLastName1().hashCode();
      hash = (37 * hash) + LAST_NAME2_FIELD_NUMBER;
      hash = (53 * hash) + getLastName2().hashCode();
      hash = (37 * hash) + TITLE_FIELD_NUMBER;
      hash = (53 * hash) + getTitle().hashCode();
      hash = (37 * hash) + NAME_PREFIX_FIELD_NUMBER;
      hash = (53 * hash) + getNamePrefix().hashCode();
      hash = (37 * hash) + MIDDLE_INITIAL_FIELD_NUMBER;
      hash = (53 * hash) + getMiddleInitial().hashCode();
      hash = (37 * hash) + SALUTATION_CODE_FIELD_NUMBER;
      hash = (53 * hash) + getSalutationCode().hashCode();
      hash = (37 * hash) + EMAIL_FIELD_NUMBER;
      hash = (53 * hash) + getEmail().hashCode();
      hash = (37 * hash) + LANDLINE_PHONE_FIELD_NUMBER;
      hash = (53 * hash) + getLandlinePhone().hashCode();
      hash = (37 * hash) + MOBILE_PHONE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getMobilePhoneNumber().hashCode();
      hash = (37 * hash) + CREATED_AT_FIELD_NUMBER;
      hash = (53 * hash) + getCreatedAt().hashCode();
      hash = (37 * hash) + CREATED_BY_FIELD_NUMBER;
      hash = (53 * hash) + getCreatedBy().hashCode();
      hash = (37 * hash) + UPDATED_AT_FIELD_NUMBER;
      hash = (53 * hash) + getUpdatedAt().hashCode();
      hash = (37 * hash) + BIRTHDAY_FIELD_NUMBER;
      hash = (53 * hash) + getBirthday().hashCode();
      hash = (37 * hash) + PREFERRED_LANGUAGE_CODE_FIELD_NUMBER;
      hash = (53 * hash) + getPreferredLanguageCode().hashCode();
      hash = (37 * hash) + ACCOUNT_COUNTRY_CODE_FIELD_NUMBER;
      hash = (53 * hash) + getAccountCountryCode().hashCode();
      hash = (37 * hash) + UC_ID_FIELD_NUMBER;
      hash = (53 * hash) + getUcId().hashCode();
      hash = (37 * hash) + VIP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getVip());
      if (hasAddress()) {
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
      }
      if (hasCommunicationPreference()) {
        hash = (37 * hash) + COMMUNICATION_PREFERENCE_FIELD_NUMBER;
        hash = (53 * hash) + getCommunicationPreference().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.CPDUserData 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.CPDUserData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.CPDUserData)
        com.daimler.mbcarkit.proto.UserEvents.CPDUserDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.CPDUserData.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserData.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.CPDUserData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          internalGetAddressFieldBuilder();
          internalGetCommunicationPreferenceFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        ciamId_ = "";
        userId_ = "";
        firstName_ = "";
        lastName1_ = "";
        lastName2_ = "";
        title_ = "";
        namePrefix_ = "";
        middleInitial_ = "";
        salutationCode_ = "";
        email_ = "";
        landlinePhone_ = "";
        mobilePhoneNumber_ = "";
        createdAt_ = "";
        createdBy_ = "";
        updatedAt_ = "";
        birthday_ = "";
        preferredLanguageCode_ = "";
        accountCountryCode_ = "";
        ucId_ = "";
        vip_ = false;
        address_ = null;
        if (addressBuilder_ != null) {
          addressBuilder_.dispose();
          addressBuilder_ = null;
        }
        communicationPreference_ = null;
        if (communicationPreferenceBuilder_ != null) {
          communicationPreferenceBuilder_.dispose();
          communicationPreferenceBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserData_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData build() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserData buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserData result = new com.daimler.mbcarkit.proto.UserEvents.CPDUserData(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.CPDUserData result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.ciamId_ = ciamId_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.userId_ = userId_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.firstName_ = firstName_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.lastName1_ = lastName1_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.lastName2_ = lastName2_;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.title_ = title_;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.namePrefix_ = namePrefix_;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.middleInitial_ = middleInitial_;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.salutationCode_ = salutationCode_;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.email_ = email_;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.landlinePhone_ = landlinePhone_;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.mobilePhoneNumber_ = mobilePhoneNumber_;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.createdAt_ = createdAt_;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.createdBy_ = createdBy_;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.updatedAt_ = updatedAt_;
        }
        if (((from_bitField0_ & 0x00008000) != 0)) {
          result.birthday_ = birthday_;
        }
        if (((from_bitField0_ & 0x00010000) != 0)) {
          result.preferredLanguageCode_ = preferredLanguageCode_;
        }
        if (((from_bitField0_ & 0x00020000) != 0)) {
          result.accountCountryCode_ = accountCountryCode_;
        }
        if (((from_bitField0_ & 0x00040000) != 0)) {
          result.ucId_ = ucId_;
        }
        if (((from_bitField0_ & 0x00080000) != 0)) {
          result.vip_ = vip_;
        }
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00100000) != 0)) {
          result.address_ = addressBuilder_ == null
              ? address_
              : addressBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00200000) != 0)) {
          result.communicationPreference_ = communicationPreferenceBuilder_ == null
              ? communicationPreference_
              : communicationPreferenceBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserData) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.CPDUserData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.CPDUserData other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.CPDUserData.getDefaultInstance()) return this;
        if (!other.getCiamId().isEmpty()) {
          ciamId_ = other.ciamId_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (!other.getUserId().isEmpty()) {
          userId_ = other.userId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (!other.getFirstName().isEmpty()) {
          firstName_ = other.firstName_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (!other.getLastName1().isEmpty()) {
          lastName1_ = other.lastName1_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (!other.getLastName2().isEmpty()) {
          lastName2_ = other.lastName2_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (!other.getTitle().isEmpty()) {
          title_ = other.title_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (!other.getNamePrefix().isEmpty()) {
          namePrefix_ = other.namePrefix_;
          bitField0_ |= 0x00000040;
          onChanged();
        }
        if (!other.getMiddleInitial().isEmpty()) {
          middleInitial_ = other.middleInitial_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (!other.getSalutationCode().isEmpty()) {
          salutationCode_ = other.salutationCode_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (!other.getEmail().isEmpty()) {
          email_ = other.email_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (!other.getLandlinePhone().isEmpty()) {
          landlinePhone_ = other.landlinePhone_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        if (!other.getMobilePhoneNumber().isEmpty()) {
          mobilePhoneNumber_ = other.mobilePhoneNumber_;
          bitField0_ |= 0x00000800;
          onChanged();
        }
        if (!other.getCreatedAt().isEmpty()) {
          createdAt_ = other.createdAt_;
          bitField0_ |= 0x00001000;
          onChanged();
        }
        if (!other.getCreatedBy().isEmpty()) {
          createdBy_ = other.createdBy_;
          bitField0_ |= 0x00002000;
          onChanged();
        }
        if (!other.getUpdatedAt().isEmpty()) {
          updatedAt_ = other.updatedAt_;
          bitField0_ |= 0x00004000;
          onChanged();
        }
        if (!other.getBirthday().isEmpty()) {
          birthday_ = other.birthday_;
          bitField0_ |= 0x00008000;
          onChanged();
        }
        if (!other.getPreferredLanguageCode().isEmpty()) {
          preferredLanguageCode_ = other.preferredLanguageCode_;
          bitField0_ |= 0x00010000;
          onChanged();
        }
        if (!other.getAccountCountryCode().isEmpty()) {
          accountCountryCode_ = other.accountCountryCode_;
          bitField0_ |= 0x00020000;
          onChanged();
        }
        if (!other.getUcId().isEmpty()) {
          ucId_ = other.ucId_;
          bitField0_ |= 0x00040000;
          onChanged();
        }
        if (other.getVip() != false) {
          setVip(other.getVip());
        }
        if (other.hasAddress()) {
          mergeAddress(other.getAddress());
        }
        if (other.hasCommunicationPreference()) {
          mergeCommunicationPreference(other.getCommunicationPreference());
        }
        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: {
                ciamId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                userId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                firstName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                lastName1_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                lastName2_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                title_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                namePrefix_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                middleInitial_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                salutationCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                email_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                landlinePhone_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 98: {
                mobilePhoneNumber_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000800;
                break;
              } // case 98
              case 106: {
                createdAt_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00001000;
                break;
              } // case 106
              case 114: {
                createdBy_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00002000;
                break;
              } // case 114
              case 122: {
                updatedAt_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00004000;
                break;
              } // case 122
              case 226: {
                birthday_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00008000;
                break;
              } // case 226
              case 234: {
                preferredLanguageCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00010000;
                break;
              } // case 234
              case 242: {
                accountCountryCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00020000;
                break;
              } // case 242
              case 250: {
                ucId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00040000;
                break;
              } // case 250
              case 256: {
                vip_ = input.readBool();
                bitField0_ |= 0x00080000;
                break;
              } // case 256
              case 266: {
                input.readMessage(
                    internalGetAddressFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00100000;
                break;
              } // case 266
              case 274: {
                input.readMessage(
                    internalGetCommunicationPreferenceFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00200000;
                break;
              } // case 274
              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 java.lang.Object ciamId_ = "";
      /**
       * <code>string ciam_id = 1;</code>
       * @return The ciamId.
       */
      public java.lang.String getCiamId() {
        java.lang.Object ref = ciamId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ciamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string ciam_id = 1;</code>
       * @return The bytes for ciamId.
       */
      public com.google.protobuf.ByteString
          getCiamIdBytes() {
        java.lang.Object ref = ciamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ciamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string ciam_id = 1;</code>
       * @param value The ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ciamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCiamId() {
        ciamId_ = getDefaultInstance().getCiamId();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>string ciam_id = 1;</code>
       * @param value The bytes for ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ciamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object userId_ = "";
      /**
       * <code>string user_id = 2;</code>
       * @return The userId.
       */
      public java.lang.String getUserId() {
        java.lang.Object ref = userId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          userId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string user_id = 2;</code>
       * @return The bytes for userId.
       */
      public com.google.protobuf.ByteString
          getUserIdBytes() {
        java.lang.Object ref = userId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string user_id = 2;</code>
       * @param value The userId to set.
       * @return This builder for chaining.
       */
      public Builder setUserId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        userId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>string user_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearUserId() {
        userId_ = getDefaultInstance().getUserId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>string user_id = 2;</code>
       * @param value The bytes for userId to set.
       * @return This builder for chaining.
       */
      public Builder setUserIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        userId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object firstName_ = "";
      /**
       * <code>string first_name = 3;</code>
       * @return The firstName.
       */
      public java.lang.String getFirstName() {
        java.lang.Object ref = firstName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          firstName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string first_name = 3;</code>
       * @return The bytes for firstName.
       */
      public com.google.protobuf.ByteString
          getFirstNameBytes() {
        java.lang.Object ref = firstName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          firstName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string first_name = 3;</code>
       * @param value The firstName to set.
       * @return This builder for chaining.
       */
      public Builder setFirstName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        firstName_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>string first_name = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstName() {
        firstName_ = getDefaultInstance().getFirstName();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>string first_name = 3;</code>
       * @param value The bytes for firstName to set.
       * @return This builder for chaining.
       */
      public Builder setFirstNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        firstName_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private java.lang.Object lastName1_ = "";
      /**
       * <code>string last_name1 = 4;</code>
       * @return The lastName1.
       */
      public java.lang.String getLastName1() {
        java.lang.Object ref = lastName1_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          lastName1_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string last_name1 = 4;</code>
       * @return The bytes for lastName1.
       */
      public com.google.protobuf.ByteString
          getLastName1Bytes() {
        java.lang.Object ref = lastName1_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          lastName1_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string last_name1 = 4;</code>
       * @param value The lastName1 to set.
       * @return This builder for chaining.
       */
      public Builder setLastName1(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        lastName1_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>string last_name1 = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLastName1() {
        lastName1_ = getDefaultInstance().getLastName1();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <code>string last_name1 = 4;</code>
       * @param value The bytes for lastName1 to set.
       * @return This builder for chaining.
       */
      public Builder setLastName1Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        lastName1_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private java.lang.Object lastName2_ = "";
      /**
       * <code>string last_name2 = 5;</code>
       * @return The lastName2.
       */
      public java.lang.String getLastName2() {
        java.lang.Object ref = lastName2_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          lastName2_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string last_name2 = 5;</code>
       * @return The bytes for lastName2.
       */
      public com.google.protobuf.ByteString
          getLastName2Bytes() {
        java.lang.Object ref = lastName2_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          lastName2_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string last_name2 = 5;</code>
       * @param value The lastName2 to set.
       * @return This builder for chaining.
       */
      public Builder setLastName2(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        lastName2_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>string last_name2 = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearLastName2() {
        lastName2_ = getDefaultInstance().getLastName2();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <code>string last_name2 = 5;</code>
       * @param value The bytes for lastName2 to set.
       * @return This builder for chaining.
       */
      public Builder setLastName2Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        lastName2_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private java.lang.Object title_ = "";
      /**
       * <code>string title = 6;</code>
       * @return The title.
       */
      public java.lang.String getTitle() {
        java.lang.Object ref = title_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          title_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string title = 6;</code>
       * @return The bytes for title.
       */
      public com.google.protobuf.ByteString
          getTitleBytes() {
        java.lang.Object ref = title_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          title_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string title = 6;</code>
       * @param value The title to set.
       * @return This builder for chaining.
       */
      public Builder setTitle(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        title_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>string title = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearTitle() {
        title_ = getDefaultInstance().getTitle();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <code>string title = 6;</code>
       * @param value The bytes for title to set.
       * @return This builder for chaining.
       */
      public Builder setTitleBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        title_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private java.lang.Object namePrefix_ = "";
      /**
       * <code>string name_prefix = 7;</code>
       * @return The namePrefix.
       */
      public java.lang.String getNamePrefix() {
        java.lang.Object ref = namePrefix_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          namePrefix_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string name_prefix = 7;</code>
       * @return The bytes for namePrefix.
       */
      public com.google.protobuf.ByteString
          getNamePrefixBytes() {
        java.lang.Object ref = namePrefix_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          namePrefix_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string name_prefix = 7;</code>
       * @param value The namePrefix to set.
       * @return This builder for chaining.
       */
      public Builder setNamePrefix(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        namePrefix_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <code>string name_prefix = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearNamePrefix() {
        namePrefix_ = getDefaultInstance().getNamePrefix();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <code>string name_prefix = 7;</code>
       * @param value The bytes for namePrefix to set.
       * @return This builder for chaining.
       */
      public Builder setNamePrefixBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        namePrefix_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private java.lang.Object middleInitial_ = "";
      /**
       * <code>string middle_initial = 8;</code>
       * @return The middleInitial.
       */
      public java.lang.String getMiddleInitial() {
        java.lang.Object ref = middleInitial_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          middleInitial_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string middle_initial = 8;</code>
       * @return The bytes for middleInitial.
       */
      public com.google.protobuf.ByteString
          getMiddleInitialBytes() {
        java.lang.Object ref = middleInitial_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          middleInitial_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string middle_initial = 8;</code>
       * @param value The middleInitial to set.
       * @return This builder for chaining.
       */
      public Builder setMiddleInitial(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        middleInitial_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <code>string middle_initial = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearMiddleInitial() {
        middleInitial_ = getDefaultInstance().getMiddleInitial();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * <code>string middle_initial = 8;</code>
       * @param value The bytes for middleInitial to set.
       * @return This builder for chaining.
       */
      public Builder setMiddleInitialBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        middleInitial_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object salutationCode_ = "";
      /**
       * <code>string salutation_code = 9;</code>
       * @return The salutationCode.
       */
      public java.lang.String getSalutationCode() {
        java.lang.Object ref = salutationCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          salutationCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string salutation_code = 9;</code>
       * @return The bytes for salutationCode.
       */
      public com.google.protobuf.ByteString
          getSalutationCodeBytes() {
        java.lang.Object ref = salutationCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          salutationCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string salutation_code = 9;</code>
       * @param value The salutationCode to set.
       * @return This builder for chaining.
       */
      public Builder setSalutationCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        salutationCode_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * <code>string salutation_code = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearSalutationCode() {
        salutationCode_ = getDefaultInstance().getSalutationCode();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * <code>string salutation_code = 9;</code>
       * @param value The bytes for salutationCode to set.
       * @return This builder for chaining.
       */
      public Builder setSalutationCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        salutationCode_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object email_ = "";
      /**
       * <code>string email = 10;</code>
       * @return The email.
       */
      public java.lang.String getEmail() {
        java.lang.Object ref = email_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          email_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string email = 10;</code>
       * @return The bytes for email.
       */
      public com.google.protobuf.ByteString
          getEmailBytes() {
        java.lang.Object ref = email_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          email_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string email = 10;</code>
       * @param value The email to set.
       * @return This builder for chaining.
       */
      public Builder setEmail(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        email_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * <code>string email = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmail() {
        email_ = getDefaultInstance().getEmail();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * <code>string email = 10;</code>
       * @param value The bytes for email to set.
       * @return This builder for chaining.
       */
      public Builder setEmailBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        email_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object landlinePhone_ = "";
      /**
       * <code>string landline_phone = 11;</code>
       * @return The landlinePhone.
       */
      public java.lang.String getLandlinePhone() {
        java.lang.Object ref = landlinePhone_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          landlinePhone_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string landline_phone = 11;</code>
       * @return The bytes for landlinePhone.
       */
      public com.google.protobuf.ByteString
          getLandlinePhoneBytes() {
        java.lang.Object ref = landlinePhone_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          landlinePhone_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string landline_phone = 11;</code>
       * @param value The landlinePhone to set.
       * @return This builder for chaining.
       */
      public Builder setLandlinePhone(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        landlinePhone_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * <code>string landline_phone = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearLandlinePhone() {
        landlinePhone_ = getDefaultInstance().getLandlinePhone();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * <code>string landline_phone = 11;</code>
       * @param value The bytes for landlinePhone to set.
       * @return This builder for chaining.
       */
      public Builder setLandlinePhoneBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        landlinePhone_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      private java.lang.Object mobilePhoneNumber_ = "";
      /**
       * <code>string mobile_phone_number = 12;</code>
       * @return The mobilePhoneNumber.
       */
      public java.lang.String getMobilePhoneNumber() {
        java.lang.Object ref = mobilePhoneNumber_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          mobilePhoneNumber_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string mobile_phone_number = 12;</code>
       * @return The bytes for mobilePhoneNumber.
       */
      public com.google.protobuf.ByteString
          getMobilePhoneNumberBytes() {
        java.lang.Object ref = mobilePhoneNumber_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mobilePhoneNumber_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string mobile_phone_number = 12;</code>
       * @param value The mobilePhoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setMobilePhoneNumber(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        mobilePhoneNumber_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * <code>string mobile_phone_number = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearMobilePhoneNumber() {
        mobilePhoneNumber_ = getDefaultInstance().getMobilePhoneNumber();
        bitField0_ = (bitField0_ & ~0x00000800);
        onChanged();
        return this;
      }
      /**
       * <code>string mobile_phone_number = 12;</code>
       * @param value The bytes for mobilePhoneNumber to set.
       * @return This builder for chaining.
       */
      public Builder setMobilePhoneNumberBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        mobilePhoneNumber_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }

      private java.lang.Object createdAt_ = "";
      /**
       * <code>string created_at = 13;</code>
       * @return The createdAt.
       */
      public java.lang.String getCreatedAt() {
        java.lang.Object ref = createdAt_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          createdAt_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string created_at = 13;</code>
       * @return The bytes for createdAt.
       */
      public com.google.protobuf.ByteString
          getCreatedAtBytes() {
        java.lang.Object ref = createdAt_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          createdAt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string created_at = 13;</code>
       * @param value The createdAt to set.
       * @return This builder for chaining.
       */
      public Builder setCreatedAt(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        createdAt_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * <code>string created_at = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearCreatedAt() {
        createdAt_ = getDefaultInstance().getCreatedAt();
        bitField0_ = (bitField0_ & ~0x00001000);
        onChanged();
        return this;
      }
      /**
       * <code>string created_at = 13;</code>
       * @param value The bytes for createdAt to set.
       * @return This builder for chaining.
       */
      public Builder setCreatedAtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        createdAt_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }

      private java.lang.Object createdBy_ = "";
      /**
       * <code>string created_by = 14;</code>
       * @return The createdBy.
       */
      public java.lang.String getCreatedBy() {
        java.lang.Object ref = createdBy_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          createdBy_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string created_by = 14;</code>
       * @return The bytes for createdBy.
       */
      public com.google.protobuf.ByteString
          getCreatedByBytes() {
        java.lang.Object ref = createdBy_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          createdBy_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string created_by = 14;</code>
       * @param value The createdBy to set.
       * @return This builder for chaining.
       */
      public Builder setCreatedBy(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        createdBy_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * <code>string created_by = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearCreatedBy() {
        createdBy_ = getDefaultInstance().getCreatedBy();
        bitField0_ = (bitField0_ & ~0x00002000);
        onChanged();
        return this;
      }
      /**
       * <code>string created_by = 14;</code>
       * @param value The bytes for createdBy to set.
       * @return This builder for chaining.
       */
      public Builder setCreatedByBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        createdBy_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }

      private java.lang.Object updatedAt_ = "";
      /**
       * <code>string updated_at = 15;</code>
       * @return The updatedAt.
       */
      public java.lang.String getUpdatedAt() {
        java.lang.Object ref = updatedAt_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          updatedAt_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string updated_at = 15;</code>
       * @return The bytes for updatedAt.
       */
      public com.google.protobuf.ByteString
          getUpdatedAtBytes() {
        java.lang.Object ref = updatedAt_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          updatedAt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string updated_at = 15;</code>
       * @param value The updatedAt to set.
       * @return This builder for chaining.
       */
      public Builder setUpdatedAt(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        updatedAt_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * <code>string updated_at = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearUpdatedAt() {
        updatedAt_ = getDefaultInstance().getUpdatedAt();
        bitField0_ = (bitField0_ & ~0x00004000);
        onChanged();
        return this;
      }
      /**
       * <code>string updated_at = 15;</code>
       * @param value The bytes for updatedAt to set.
       * @return This builder for chaining.
       */
      public Builder setUpdatedAtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        updatedAt_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }

      private java.lang.Object birthday_ = "";
      /**
       * <code>string birthday = 28;</code>
       * @return The birthday.
       */
      public java.lang.String getBirthday() {
        java.lang.Object ref = birthday_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          birthday_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string birthday = 28;</code>
       * @return The bytes for birthday.
       */
      public com.google.protobuf.ByteString
          getBirthdayBytes() {
        java.lang.Object ref = birthday_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          birthday_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string birthday = 28;</code>
       * @param value The birthday to set.
       * @return This builder for chaining.
       */
      public Builder setBirthday(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        birthday_ = value;
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * <code>string birthday = 28;</code>
       * @return This builder for chaining.
       */
      public Builder clearBirthday() {
        birthday_ = getDefaultInstance().getBirthday();
        bitField0_ = (bitField0_ & ~0x00008000);
        onChanged();
        return this;
      }
      /**
       * <code>string birthday = 28;</code>
       * @param value The bytes for birthday to set.
       * @return This builder for chaining.
       */
      public Builder setBirthdayBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        birthday_ = value;
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }

      private java.lang.Object preferredLanguageCode_ = "";
      /**
       * <code>string preferred_language_code = 29;</code>
       * @return The preferredLanguageCode.
       */
      public java.lang.String getPreferredLanguageCode() {
        java.lang.Object ref = preferredLanguageCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          preferredLanguageCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string preferred_language_code = 29;</code>
       * @return The bytes for preferredLanguageCode.
       */
      public com.google.protobuf.ByteString
          getPreferredLanguageCodeBytes() {
        java.lang.Object ref = preferredLanguageCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          preferredLanguageCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string preferred_language_code = 29;</code>
       * @param value The preferredLanguageCode to set.
       * @return This builder for chaining.
       */
      public Builder setPreferredLanguageCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        preferredLanguageCode_ = value;
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * <code>string preferred_language_code = 29;</code>
       * @return This builder for chaining.
       */
      public Builder clearPreferredLanguageCode() {
        preferredLanguageCode_ = getDefaultInstance().getPreferredLanguageCode();
        bitField0_ = (bitField0_ & ~0x00010000);
        onChanged();
        return this;
      }
      /**
       * <code>string preferred_language_code = 29;</code>
       * @param value The bytes for preferredLanguageCode to set.
       * @return This builder for chaining.
       */
      public Builder setPreferredLanguageCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        preferredLanguageCode_ = value;
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }

      private java.lang.Object accountCountryCode_ = "";
      /**
       * <code>string account_country_code = 30;</code>
       * @return The accountCountryCode.
       */
      public java.lang.String getAccountCountryCode() {
        java.lang.Object ref = accountCountryCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          accountCountryCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string account_country_code = 30;</code>
       * @return The bytes for accountCountryCode.
       */
      public com.google.protobuf.ByteString
          getAccountCountryCodeBytes() {
        java.lang.Object ref = accountCountryCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          accountCountryCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string account_country_code = 30;</code>
       * @param value The accountCountryCode to set.
       * @return This builder for chaining.
       */
      public Builder setAccountCountryCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        accountCountryCode_ = value;
        bitField0_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * <code>string account_country_code = 30;</code>
       * @return This builder for chaining.
       */
      public Builder clearAccountCountryCode() {
        accountCountryCode_ = getDefaultInstance().getAccountCountryCode();
        bitField0_ = (bitField0_ & ~0x00020000);
        onChanged();
        return this;
      }
      /**
       * <code>string account_country_code = 30;</code>
       * @param value The bytes for accountCountryCode to set.
       * @return This builder for chaining.
       */
      public Builder setAccountCountryCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        accountCountryCode_ = value;
        bitField0_ |= 0x00020000;
        onChanged();
        return this;
      }

      private java.lang.Object ucId_ = "";
      /**
       * <pre>
       * doc says: TODO
       * </pre>
       *
       * <code>string uc_id = 31;</code>
       * @return The ucId.
       */
      public java.lang.String getUcId() {
        java.lang.Object ref = ucId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ucId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * doc says: TODO
       * </pre>
       *
       * <code>string uc_id = 31;</code>
       * @return The bytes for ucId.
       */
      public com.google.protobuf.ByteString
          getUcIdBytes() {
        java.lang.Object ref = ucId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ucId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * doc says: TODO
       * </pre>
       *
       * <code>string uc_id = 31;</code>
       * @param value The ucId to set.
       * @return This builder for chaining.
       */
      public Builder setUcId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ucId_ = value;
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * doc says: TODO
       * </pre>
       *
       * <code>string uc_id = 31;</code>
       * @return This builder for chaining.
       */
      public Builder clearUcId() {
        ucId_ = getDefaultInstance().getUcId();
        bitField0_ = (bitField0_ & ~0x00040000);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * doc says: TODO
       * </pre>
       *
       * <code>string uc_id = 31;</code>
       * @param value The bytes for ucId to set.
       * @return This builder for chaining.
       */
      public Builder setUcIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ucId_ = value;
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }

      private boolean vip_ ;
      /**
       * <code>bool vip = 32;</code>
       * @return The vip.
       */
      @java.lang.Override
      public boolean getVip() {
        return vip_;
      }
      /**
       * <code>bool vip = 32;</code>
       * @param value The vip to set.
       * @return This builder for chaining.
       */
      public Builder setVip(boolean value) {

        vip_ = value;
        bitField0_ |= 0x00080000;
        onChanged();
        return this;
      }
      /**
       * <code>bool vip = 32;</code>
       * @return This builder for chaining.
       */
      public Builder clearVip() {
        bitField0_ = (bitField0_ & ~0x00080000);
        vip_ = false;
        onChanged();
        return this;
      }

      private com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress address_;
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder> addressBuilder_;
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       * @return Whether the address field is set.
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00100000) != 0);
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       * @return The address.
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getAddress() {
        if (addressBuilder_ == null) {
          return address_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance() : address_;
        } else {
          return addressBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public Builder setAddress(com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress value) {
        if (addressBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          address_ = value;
        } else {
          addressBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00100000;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public Builder setAddress(
          com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder builderForValue) {
        if (addressBuilder_ == null) {
          address_ = builderForValue.build();
        } else {
          addressBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00100000;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public Builder mergeAddress(com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress value) {
        if (addressBuilder_ == null) {
          if (((bitField0_ & 0x00100000) != 0) &&
            address_ != null &&
            address_ != com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance()) {
            getAddressBuilder().mergeFrom(value);
          } else {
            address_ = value;
          }
        } else {
          addressBuilder_.mergeFrom(value);
        }
        if (address_ != null) {
          bitField0_ |= 0x00100000;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public Builder clearAddress() {
        bitField0_ = (bitField0_ & ~0x00100000);
        address_ = null;
        if (addressBuilder_ != null) {
          addressBuilder_.dispose();
          addressBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder getAddressBuilder() {
        bitField0_ |= 0x00100000;
        onChanged();
        return internalGetAddressFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder getAddressOrBuilder() {
        if (addressBuilder_ != null) {
          return addressBuilder_.getMessageOrBuilder();
        } else {
          return address_ == null ?
              com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance() : address_;
        }
      }
      /**
       * <code>.proto.CPDUserAddress address = 33;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder> 
          internalGetAddressFieldBuilder() {
        if (addressBuilder_ == null) {
          addressBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder>(
                  getAddress(),
                  getParentForChildren(),
                  isClean());
          address_ = null;
        }
        return addressBuilder_;
      }

      private com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference communicationPreference_;
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder> communicationPreferenceBuilder_;
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       * @return Whether the communicationPreference field is set.
       */
      public boolean hasCommunicationPreference() {
        return ((bitField0_ & 0x00200000) != 0);
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       * @return The communicationPreference.
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getCommunicationPreference() {
        if (communicationPreferenceBuilder_ == null) {
          return communicationPreference_ == null ? com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance() : communicationPreference_;
        } else {
          return communicationPreferenceBuilder_.getMessage();
        }
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public Builder setCommunicationPreference(com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference value) {
        if (communicationPreferenceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          communicationPreference_ = value;
        } else {
          communicationPreferenceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00200000;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public Builder setCommunicationPreference(
          com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder builderForValue) {
        if (communicationPreferenceBuilder_ == null) {
          communicationPreference_ = builderForValue.build();
        } else {
          communicationPreferenceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00200000;
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public Builder mergeCommunicationPreference(com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference value) {
        if (communicationPreferenceBuilder_ == null) {
          if (((bitField0_ & 0x00200000) != 0) &&
            communicationPreference_ != null &&
            communicationPreference_ != com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance()) {
            getCommunicationPreferenceBuilder().mergeFrom(value);
          } else {
            communicationPreference_ = value;
          }
        } else {
          communicationPreferenceBuilder_.mergeFrom(value);
        }
        if (communicationPreference_ != null) {
          bitField0_ |= 0x00200000;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public Builder clearCommunicationPreference() {
        bitField0_ = (bitField0_ & ~0x00200000);
        communicationPreference_ = null;
        if (communicationPreferenceBuilder_ != null) {
          communicationPreferenceBuilder_.dispose();
          communicationPreferenceBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder getCommunicationPreferenceBuilder() {
        bitField0_ |= 0x00200000;
        onChanged();
        return internalGetCommunicationPreferenceFieldBuilder().getBuilder();
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder getCommunicationPreferenceOrBuilder() {
        if (communicationPreferenceBuilder_ != null) {
          return communicationPreferenceBuilder_.getMessageOrBuilder();
        } else {
          return communicationPreference_ == null ?
              com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance() : communicationPreference_;
        }
      }
      /**
       * <code>.proto.CPDUserCommunicationPreference communication_preference = 34;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder> 
          internalGetCommunicationPreferenceFieldBuilder() {
        if (communicationPreferenceBuilder_ == null) {
          communicationPreferenceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder>(
                  getCommunicationPreference(),
                  getParentForChildren(),
                  isClean());
          communicationPreference_ = null;
        }
        return communicationPreferenceBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:proto.CPDUserData)
    }

    // @@protoc_insertion_point(class_scope:proto.CPDUserData)
    private static final com.daimler.mbcarkit.proto.UserEvents.CPDUserData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.CPDUserData();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CPDUserData>
        PARSER = new com.google.protobuf.AbstractParser<CPDUserData>() {
      @java.lang.Override
      public CPDUserData 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<CPDUserData> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CPDUserAddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.CPDUserAddress)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string country_code = 1;</code>
     * @return The countryCode.
     */
    java.lang.String getCountryCode();
    /**
     * <code>string country_code = 1;</code>
     * @return The bytes for countryCode.
     */
    com.google.protobuf.ByteString
        getCountryCodeBytes();

    /**
     * <code>string state = 2;</code>
     * @return The state.
     */
    java.lang.String getState();
    /**
     * <code>string state = 2;</code>
     * @return The bytes for state.
     */
    com.google.protobuf.ByteString
        getStateBytes();

    /**
     * <code>string province = 3;</code>
     * @return The province.
     */
    java.lang.String getProvince();
    /**
     * <code>string province = 3;</code>
     * @return The bytes for province.
     */
    com.google.protobuf.ByteString
        getProvinceBytes();

    /**
     * <code>string street = 4;</code>
     * @return The street.
     */
    java.lang.String getStreet();
    /**
     * <code>string street = 4;</code>
     * @return The bytes for street.
     */
    com.google.protobuf.ByteString
        getStreetBytes();

    /**
     * <code>string house_no = 5;</code>
     * @return The houseNo.
     */
    java.lang.String getHouseNo();
    /**
     * <code>string house_no = 5;</code>
     * @return The bytes for houseNo.
     */
    com.google.protobuf.ByteString
        getHouseNoBytes();

    /**
     * <code>string zip_code = 6;</code>
     * @return The zipCode.
     */
    java.lang.String getZipCode();
    /**
     * <code>string zip_code = 6;</code>
     * @return The bytes for zipCode.
     */
    com.google.protobuf.ByteString
        getZipCodeBytes();

    /**
     * <code>string city = 7;</code>
     * @return The city.
     */
    java.lang.String getCity();
    /**
     * <code>string city = 7;</code>
     * @return The bytes for city.
     */
    com.google.protobuf.ByteString
        getCityBytes();

    /**
     * <code>string street_type = 8;</code>
     * @return The streetType.
     */
    java.lang.String getStreetType();
    /**
     * <code>string street_type = 8;</code>
     * @return The bytes for streetType.
     */
    com.google.protobuf.ByteString
        getStreetTypeBytes();

    /**
     * <code>string house_name = 9;</code>
     * @return The houseName.
     */
    java.lang.String getHouseName();
    /**
     * <code>string house_name = 9;</code>
     * @return The bytes for houseName.
     */
    com.google.protobuf.ByteString
        getHouseNameBytes();

    /**
     * <code>string floor_no = 10;</code>
     * @return The floorNo.
     */
    java.lang.String getFloorNo();
    /**
     * <code>string floor_no = 10;</code>
     * @return The bytes for floorNo.
     */
    com.google.protobuf.ByteString
        getFloorNoBytes();

    /**
     * <code>string door_no = 11;</code>
     * @return The doorNo.
     */
    java.lang.String getDoorNo();
    /**
     * <code>string door_no = 11;</code>
     * @return The bytes for doorNo.
     */
    com.google.protobuf.ByteString
        getDoorNoBytes();

    /**
     * <code>string address_line1 = 12;</code>
     * @return The addressLine1.
     */
    java.lang.String getAddressLine1();
    /**
     * <code>string address_line1 = 12;</code>
     * @return The bytes for addressLine1.
     */
    com.google.protobuf.ByteString
        getAddressLine1Bytes();

    /**
     * <code>string address_line2 = 13;</code>
     * @return The addressLine2.
     */
    java.lang.String getAddressLine2();
    /**
     * <code>string address_line2 = 13;</code>
     * @return The bytes for addressLine2.
     */
    com.google.protobuf.ByteString
        getAddressLine2Bytes();

    /**
     * <code>string address_line3 = 14;</code>
     * @return The addressLine3.
     */
    java.lang.String getAddressLine3();
    /**
     * <code>string address_line3 = 14;</code>
     * @return The bytes for addressLine3.
     */
    com.google.protobuf.ByteString
        getAddressLine3Bytes();

    /**
     * <code>string post_office_box = 15;</code>
     * @return The postOfficeBox.
     */
    java.lang.String getPostOfficeBox();
    /**
     * <code>string post_office_box = 15;</code>
     * @return The bytes for postOfficeBox.
     */
    com.google.protobuf.ByteString
        getPostOfficeBoxBytes();
  }
  /**
   * Protobuf type {@code proto.CPDUserAddress}
   */
  public static final class CPDUserAddress extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.CPDUserAddress)
      CPDUserAddressOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "CPDUserAddress");
    }
    // Use CPDUserAddress.newBuilder() to construct.
    private CPDUserAddress(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CPDUserAddress() {
      countryCode_ = "";
      state_ = "";
      province_ = "";
      street_ = "";
      houseNo_ = "";
      zipCode_ = "";
      city_ = "";
      streetType_ = "";
      houseName_ = "";
      floorNo_ = "";
      doorNo_ = "";
      addressLine1_ = "";
      addressLine2_ = "";
      addressLine3_ = "";
      postOfficeBox_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserAddress_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserAddress_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder.class);
    }

    public static final int COUNTRY_CODE_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object countryCode_ = "";
    /**
     * <code>string country_code = 1;</code>
     * @return The countryCode.
     */
    @java.lang.Override
    public java.lang.String getCountryCode() {
      java.lang.Object ref = countryCode_;
      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();
        countryCode_ = s;
        return s;
      }
    }
    /**
     * <code>string country_code = 1;</code>
     * @return The bytes for countryCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCountryCodeBytes() {
      java.lang.Object ref = countryCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        countryCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATE_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object state_ = "";
    /**
     * <code>string state = 2;</code>
     * @return The state.
     */
    @java.lang.Override
    public java.lang.String getState() {
      java.lang.Object ref = state_;
      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();
        state_ = s;
        return s;
      }
    }
    /**
     * <code>string state = 2;</code>
     * @return The bytes for state.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStateBytes() {
      java.lang.Object ref = state_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        state_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PROVINCE_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object province_ = "";
    /**
     * <code>string province = 3;</code>
     * @return The province.
     */
    @java.lang.Override
    public java.lang.String getProvince() {
      java.lang.Object ref = province_;
      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();
        province_ = s;
        return s;
      }
    }
    /**
     * <code>string province = 3;</code>
     * @return The bytes for province.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getProvinceBytes() {
      java.lang.Object ref = province_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        province_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STREET_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object street_ = "";
    /**
     * <code>string street = 4;</code>
     * @return The street.
     */
    @java.lang.Override
    public java.lang.String getStreet() {
      java.lang.Object ref = street_;
      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();
        street_ = s;
        return s;
      }
    }
    /**
     * <code>string street = 4;</code>
     * @return The bytes for street.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStreetBytes() {
      java.lang.Object ref = street_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        street_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HOUSE_NO_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object houseNo_ = "";
    /**
     * <code>string house_no = 5;</code>
     * @return The houseNo.
     */
    @java.lang.Override
    public java.lang.String getHouseNo() {
      java.lang.Object ref = houseNo_;
      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();
        houseNo_ = s;
        return s;
      }
    }
    /**
     * <code>string house_no = 5;</code>
     * @return The bytes for houseNo.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getHouseNoBytes() {
      java.lang.Object ref = houseNo_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        houseNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ZIP_CODE_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object zipCode_ = "";
    /**
     * <code>string zip_code = 6;</code>
     * @return The zipCode.
     */
    @java.lang.Override
    public java.lang.String getZipCode() {
      java.lang.Object ref = zipCode_;
      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();
        zipCode_ = s;
        return s;
      }
    }
    /**
     * <code>string zip_code = 6;</code>
     * @return The bytes for zipCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getZipCodeBytes() {
      java.lang.Object ref = zipCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        zipCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CITY_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object city_ = "";
    /**
     * <code>string city = 7;</code>
     * @return The city.
     */
    @java.lang.Override
    public java.lang.String getCity() {
      java.lang.Object ref = city_;
      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();
        city_ = s;
        return s;
      }
    }
    /**
     * <code>string city = 7;</code>
     * @return The bytes for city.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCityBytes() {
      java.lang.Object ref = city_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        city_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STREET_TYPE_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private volatile java.lang.Object streetType_ = "";
    /**
     * <code>string street_type = 8;</code>
     * @return The streetType.
     */
    @java.lang.Override
    public java.lang.String getStreetType() {
      java.lang.Object ref = streetType_;
      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();
        streetType_ = s;
        return s;
      }
    }
    /**
     * <code>string street_type = 8;</code>
     * @return The bytes for streetType.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStreetTypeBytes() {
      java.lang.Object ref = streetType_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streetType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HOUSE_NAME_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private volatile java.lang.Object houseName_ = "";
    /**
     * <code>string house_name = 9;</code>
     * @return The houseName.
     */
    @java.lang.Override
    public java.lang.String getHouseName() {
      java.lang.Object ref = houseName_;
      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();
        houseName_ = s;
        return s;
      }
    }
    /**
     * <code>string house_name = 9;</code>
     * @return The bytes for houseName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getHouseNameBytes() {
      java.lang.Object ref = houseName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        houseName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FLOOR_NO_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object floorNo_ = "";
    /**
     * <code>string floor_no = 10;</code>
     * @return The floorNo.
     */
    @java.lang.Override
    public java.lang.String getFloorNo() {
      java.lang.Object ref = floorNo_;
      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();
        floorNo_ = s;
        return s;
      }
    }
    /**
     * <code>string floor_no = 10;</code>
     * @return The bytes for floorNo.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFloorNoBytes() {
      java.lang.Object ref = floorNo_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        floorNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DOOR_NO_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object doorNo_ = "";
    /**
     * <code>string door_no = 11;</code>
     * @return The doorNo.
     */
    @java.lang.Override
    public java.lang.String getDoorNo() {
      java.lang.Object ref = doorNo_;
      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();
        doorNo_ = s;
        return s;
      }
    }
    /**
     * <code>string door_no = 11;</code>
     * @return The bytes for doorNo.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDoorNoBytes() {
      java.lang.Object ref = doorNo_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        doorNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADDRESS_LINE1_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private volatile java.lang.Object addressLine1_ = "";
    /**
     * <code>string address_line1 = 12;</code>
     * @return The addressLine1.
     */
    @java.lang.Override
    public java.lang.String getAddressLine1() {
      java.lang.Object ref = addressLine1_;
      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();
        addressLine1_ = s;
        return s;
      }
    }
    /**
     * <code>string address_line1 = 12;</code>
     * @return The bytes for addressLine1.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAddressLine1Bytes() {
      java.lang.Object ref = addressLine1_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addressLine1_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADDRESS_LINE2_FIELD_NUMBER = 13;
    @SuppressWarnings("serial")
    private volatile java.lang.Object addressLine2_ = "";
    /**
     * <code>string address_line2 = 13;</code>
     * @return The addressLine2.
     */
    @java.lang.Override
    public java.lang.String getAddressLine2() {
      java.lang.Object ref = addressLine2_;
      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();
        addressLine2_ = s;
        return s;
      }
    }
    /**
     * <code>string address_line2 = 13;</code>
     * @return The bytes for addressLine2.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAddressLine2Bytes() {
      java.lang.Object ref = addressLine2_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addressLine2_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ADDRESS_LINE3_FIELD_NUMBER = 14;
    @SuppressWarnings("serial")
    private volatile java.lang.Object addressLine3_ = "";
    /**
     * <code>string address_line3 = 14;</code>
     * @return The addressLine3.
     */
    @java.lang.Override
    public java.lang.String getAddressLine3() {
      java.lang.Object ref = addressLine3_;
      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();
        addressLine3_ = s;
        return s;
      }
    }
    /**
     * <code>string address_line3 = 14;</code>
     * @return The bytes for addressLine3.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAddressLine3Bytes() {
      java.lang.Object ref = addressLine3_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addressLine3_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int POST_OFFICE_BOX_FIELD_NUMBER = 15;
    @SuppressWarnings("serial")
    private volatile java.lang.Object postOfficeBox_ = "";
    /**
     * <code>string post_office_box = 15;</code>
     * @return The postOfficeBox.
     */
    @java.lang.Override
    public java.lang.String getPostOfficeBox() {
      java.lang.Object ref = postOfficeBox_;
      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();
        postOfficeBox_ = s;
        return s;
      }
    }
    /**
     * <code>string post_office_box = 15;</code>
     * @return The bytes for postOfficeBox.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPostOfficeBoxBytes() {
      java.lang.Object ref = postOfficeBox_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        postOfficeBox_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(countryCode_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, countryCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(state_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, state_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(province_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, province_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(street_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, street_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(houseNo_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, houseNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(zipCode_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 6, zipCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(city_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 7, city_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(streetType_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 8, streetType_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(houseName_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 9, houseName_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(floorNo_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 10, floorNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(doorNo_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 11, doorNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine1_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 12, addressLine1_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine2_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 13, addressLine2_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine3_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 14, addressLine3_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(postOfficeBox_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 15, postOfficeBox_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(countryCode_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, countryCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(state_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, state_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(province_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, province_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(street_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, street_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(houseNo_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, houseNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(zipCode_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, zipCode_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(city_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(7, city_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(streetType_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(8, streetType_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(houseName_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, houseName_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(floorNo_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, floorNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(doorNo_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, doorNo_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine1_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(12, addressLine1_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine2_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(13, addressLine2_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(addressLine3_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(14, addressLine3_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(postOfficeBox_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(15, postOfficeBox_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress other = (com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress) obj;

      if (!getCountryCode()
          .equals(other.getCountryCode())) return false;
      if (!getState()
          .equals(other.getState())) return false;
      if (!getProvince()
          .equals(other.getProvince())) return false;
      if (!getStreet()
          .equals(other.getStreet())) return false;
      if (!getHouseNo()
          .equals(other.getHouseNo())) return false;
      if (!getZipCode()
          .equals(other.getZipCode())) return false;
      if (!getCity()
          .equals(other.getCity())) return false;
      if (!getStreetType()
          .equals(other.getStreetType())) return false;
      if (!getHouseName()
          .equals(other.getHouseName())) return false;
      if (!getFloorNo()
          .equals(other.getFloorNo())) return false;
      if (!getDoorNo()
          .equals(other.getDoorNo())) return false;
      if (!getAddressLine1()
          .equals(other.getAddressLine1())) return false;
      if (!getAddressLine2()
          .equals(other.getAddressLine2())) return false;
      if (!getAddressLine3()
          .equals(other.getAddressLine3())) return false;
      if (!getPostOfficeBox()
          .equals(other.getPostOfficeBox())) 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) + COUNTRY_CODE_FIELD_NUMBER;
      hash = (53 * hash) + getCountryCode().hashCode();
      hash = (37 * hash) + STATE_FIELD_NUMBER;
      hash = (53 * hash) + getState().hashCode();
      hash = (37 * hash) + PROVINCE_FIELD_NUMBER;
      hash = (53 * hash) + getProvince().hashCode();
      hash = (37 * hash) + STREET_FIELD_NUMBER;
      hash = (53 * hash) + getStreet().hashCode();
      hash = (37 * hash) + HOUSE_NO_FIELD_NUMBER;
      hash = (53 * hash) + getHouseNo().hashCode();
      hash = (37 * hash) + ZIP_CODE_FIELD_NUMBER;
      hash = (53 * hash) + getZipCode().hashCode();
      hash = (37 * hash) + CITY_FIELD_NUMBER;
      hash = (53 * hash) + getCity().hashCode();
      hash = (37 * hash) + STREET_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getStreetType().hashCode();
      hash = (37 * hash) + HOUSE_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getHouseName().hashCode();
      hash = (37 * hash) + FLOOR_NO_FIELD_NUMBER;
      hash = (53 * hash) + getFloorNo().hashCode();
      hash = (37 * hash) + DOOR_NO_FIELD_NUMBER;
      hash = (53 * hash) + getDoorNo().hashCode();
      hash = (37 * hash) + ADDRESS_LINE1_FIELD_NUMBER;
      hash = (53 * hash) + getAddressLine1().hashCode();
      hash = (37 * hash) + ADDRESS_LINE2_FIELD_NUMBER;
      hash = (53 * hash) + getAddressLine2().hashCode();
      hash = (37 * hash) + ADDRESS_LINE3_FIELD_NUMBER;
      hash = (53 * hash) + getAddressLine3().hashCode();
      hash = (37 * hash) + POST_OFFICE_BOX_FIELD_NUMBER;
      hash = (53 * hash) + getPostOfficeBox().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.CPDUserAddress}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.CPDUserAddress)
        com.daimler.mbcarkit.proto.UserEvents.CPDUserAddressOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserAddress_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserAddress_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        countryCode_ = "";
        state_ = "";
        province_ = "";
        street_ = "";
        houseNo_ = "";
        zipCode_ = "";
        city_ = "";
        streetType_ = "";
        houseName_ = "";
        floorNo_ = "";
        doorNo_ = "";
        addressLine1_ = "";
        addressLine2_ = "";
        addressLine3_ = "";
        postOfficeBox_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserAddress_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress build() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress result = new com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.countryCode_ = countryCode_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.state_ = state_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.province_ = province_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.street_ = street_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.houseNo_ = houseNo_;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.zipCode_ = zipCode_;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.city_ = city_;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.streetType_ = streetType_;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.houseName_ = houseName_;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.floorNo_ = floorNo_;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.doorNo_ = doorNo_;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.addressLine1_ = addressLine1_;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.addressLine2_ = addressLine2_;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.addressLine3_ = addressLine3_;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.postOfficeBox_ = postOfficeBox_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress.getDefaultInstance()) return this;
        if (!other.getCountryCode().isEmpty()) {
          countryCode_ = other.countryCode_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (!other.getState().isEmpty()) {
          state_ = other.state_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (!other.getProvince().isEmpty()) {
          province_ = other.province_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (!other.getStreet().isEmpty()) {
          street_ = other.street_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (!other.getHouseNo().isEmpty()) {
          houseNo_ = other.houseNo_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (!other.getZipCode().isEmpty()) {
          zipCode_ = other.zipCode_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (!other.getCity().isEmpty()) {
          city_ = other.city_;
          bitField0_ |= 0x00000040;
          onChanged();
        }
        if (!other.getStreetType().isEmpty()) {
          streetType_ = other.streetType_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (!other.getHouseName().isEmpty()) {
          houseName_ = other.houseName_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (!other.getFloorNo().isEmpty()) {
          floorNo_ = other.floorNo_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (!other.getDoorNo().isEmpty()) {
          doorNo_ = other.doorNo_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        if (!other.getAddressLine1().isEmpty()) {
          addressLine1_ = other.addressLine1_;
          bitField0_ |= 0x00000800;
          onChanged();
        }
        if (!other.getAddressLine2().isEmpty()) {
          addressLine2_ = other.addressLine2_;
          bitField0_ |= 0x00001000;
          onChanged();
        }
        if (!other.getAddressLine3().isEmpty()) {
          addressLine3_ = other.addressLine3_;
          bitField0_ |= 0x00002000;
          onChanged();
        }
        if (!other.getPostOfficeBox().isEmpty()) {
          postOfficeBox_ = other.postOfficeBox_;
          bitField0_ |= 0x00004000;
          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: {
                countryCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                state_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                province_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                street_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                houseNo_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                zipCode_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                city_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                streetType_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                houseName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                floorNo_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                doorNo_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 98: {
                addressLine1_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000800;
                break;
              } // case 98
              case 106: {
                addressLine2_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00001000;
                break;
              } // case 106
              case 114: {
                addressLine3_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00002000;
                break;
              } // case 114
              case 122: {
                postOfficeBox_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00004000;
                break;
              } // case 122
              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 java.lang.Object countryCode_ = "";
      /**
       * <code>string country_code = 1;</code>
       * @return The countryCode.
       */
      public java.lang.String getCountryCode() {
        java.lang.Object ref = countryCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          countryCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string country_code = 1;</code>
       * @return The bytes for countryCode.
       */
      public com.google.protobuf.ByteString
          getCountryCodeBytes() {
        java.lang.Object ref = countryCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          countryCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string country_code = 1;</code>
       * @param value The countryCode to set.
       * @return This builder for chaining.
       */
      public Builder setCountryCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        countryCode_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>string country_code = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCountryCode() {
        countryCode_ = getDefaultInstance().getCountryCode();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>string country_code = 1;</code>
       * @param value The bytes for countryCode to set.
       * @return This builder for chaining.
       */
      public Builder setCountryCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        countryCode_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object state_ = "";
      /**
       * <code>string state = 2;</code>
       * @return The state.
       */
      public java.lang.String getState() {
        java.lang.Object ref = state_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          state_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string state = 2;</code>
       * @return The bytes for state.
       */
      public com.google.protobuf.ByteString
          getStateBytes() {
        java.lang.Object ref = state_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          state_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string state = 2;</code>
       * @param value The state to set.
       * @return This builder for chaining.
       */
      public Builder setState(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        state_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>string state = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearState() {
        state_ = getDefaultInstance().getState();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>string state = 2;</code>
       * @param value The bytes for state to set.
       * @return This builder for chaining.
       */
      public Builder setStateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        state_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object province_ = "";
      /**
       * <code>string province = 3;</code>
       * @return The province.
       */
      public java.lang.String getProvince() {
        java.lang.Object ref = province_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          province_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string province = 3;</code>
       * @return The bytes for province.
       */
      public com.google.protobuf.ByteString
          getProvinceBytes() {
        java.lang.Object ref = province_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          province_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string province = 3;</code>
       * @param value The province to set.
       * @return This builder for chaining.
       */
      public Builder setProvince(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        province_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>string province = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearProvince() {
        province_ = getDefaultInstance().getProvince();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>string province = 3;</code>
       * @param value The bytes for province to set.
       * @return This builder for chaining.
       */
      public Builder setProvinceBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        province_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private java.lang.Object street_ = "";
      /**
       * <code>string street = 4;</code>
       * @return The street.
       */
      public java.lang.String getStreet() {
        java.lang.Object ref = street_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          street_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string street = 4;</code>
       * @return The bytes for street.
       */
      public com.google.protobuf.ByteString
          getStreetBytes() {
        java.lang.Object ref = street_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          street_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string street = 4;</code>
       * @param value The street to set.
       * @return This builder for chaining.
       */
      public Builder setStreet(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        street_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>string street = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearStreet() {
        street_ = getDefaultInstance().getStreet();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <code>string street = 4;</code>
       * @param value The bytes for street to set.
       * @return This builder for chaining.
       */
      public Builder setStreetBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        street_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private java.lang.Object houseNo_ = "";
      /**
       * <code>string house_no = 5;</code>
       * @return The houseNo.
       */
      public java.lang.String getHouseNo() {
        java.lang.Object ref = houseNo_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          houseNo_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string house_no = 5;</code>
       * @return The bytes for houseNo.
       */
      public com.google.protobuf.ByteString
          getHouseNoBytes() {
        java.lang.Object ref = houseNo_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          houseNo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string house_no = 5;</code>
       * @param value The houseNo to set.
       * @return This builder for chaining.
       */
      public Builder setHouseNo(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        houseNo_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>string house_no = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearHouseNo() {
        houseNo_ = getDefaultInstance().getHouseNo();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <code>string house_no = 5;</code>
       * @param value The bytes for houseNo to set.
       * @return This builder for chaining.
       */
      public Builder setHouseNoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        houseNo_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private java.lang.Object zipCode_ = "";
      /**
       * <code>string zip_code = 6;</code>
       * @return The zipCode.
       */
      public java.lang.String getZipCode() {
        java.lang.Object ref = zipCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          zipCode_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string zip_code = 6;</code>
       * @return The bytes for zipCode.
       */
      public com.google.protobuf.ByteString
          getZipCodeBytes() {
        java.lang.Object ref = zipCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          zipCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string zip_code = 6;</code>
       * @param value The zipCode to set.
       * @return This builder for chaining.
       */
      public Builder setZipCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        zipCode_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>string zip_code = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearZipCode() {
        zipCode_ = getDefaultInstance().getZipCode();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <code>string zip_code = 6;</code>
       * @param value The bytes for zipCode to set.
       * @return This builder for chaining.
       */
      public Builder setZipCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        zipCode_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private java.lang.Object city_ = "";
      /**
       * <code>string city = 7;</code>
       * @return The city.
       */
      public java.lang.String getCity() {
        java.lang.Object ref = city_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          city_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string city = 7;</code>
       * @return The bytes for city.
       */
      public com.google.protobuf.ByteString
          getCityBytes() {
        java.lang.Object ref = city_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          city_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string city = 7;</code>
       * @param value The city to set.
       * @return This builder for chaining.
       */
      public Builder setCity(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        city_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <code>string city = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearCity() {
        city_ = getDefaultInstance().getCity();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <code>string city = 7;</code>
       * @param value The bytes for city to set.
       * @return This builder for chaining.
       */
      public Builder setCityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        city_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private java.lang.Object streetType_ = "";
      /**
       * <code>string street_type = 8;</code>
       * @return The streetType.
       */
      public java.lang.String getStreetType() {
        java.lang.Object ref = streetType_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          streetType_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string street_type = 8;</code>
       * @return The bytes for streetType.
       */
      public com.google.protobuf.ByteString
          getStreetTypeBytes() {
        java.lang.Object ref = streetType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          streetType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string street_type = 8;</code>
       * @param value The streetType to set.
       * @return This builder for chaining.
       */
      public Builder setStreetType(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        streetType_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * <code>string street_type = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearStreetType() {
        streetType_ = getDefaultInstance().getStreetType();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * <code>string street_type = 8;</code>
       * @param value The bytes for streetType to set.
       * @return This builder for chaining.
       */
      public Builder setStreetTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        streetType_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object houseName_ = "";
      /**
       * <code>string house_name = 9;</code>
       * @return The houseName.
       */
      public java.lang.String getHouseName() {
        java.lang.Object ref = houseName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          houseName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string house_name = 9;</code>
       * @return The bytes for houseName.
       */
      public com.google.protobuf.ByteString
          getHouseNameBytes() {
        java.lang.Object ref = houseName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          houseName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string house_name = 9;</code>
       * @param value The houseName to set.
       * @return This builder for chaining.
       */
      public Builder setHouseName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        houseName_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * <code>string house_name = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearHouseName() {
        houseName_ = getDefaultInstance().getHouseName();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * <code>string house_name = 9;</code>
       * @param value The bytes for houseName to set.
       * @return This builder for chaining.
       */
      public Builder setHouseNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        houseName_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object floorNo_ = "";
      /**
       * <code>string floor_no = 10;</code>
       * @return The floorNo.
       */
      public java.lang.String getFloorNo() {
        java.lang.Object ref = floorNo_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          floorNo_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string floor_no = 10;</code>
       * @return The bytes for floorNo.
       */
      public com.google.protobuf.ByteString
          getFloorNoBytes() {
        java.lang.Object ref = floorNo_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          floorNo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string floor_no = 10;</code>
       * @param value The floorNo to set.
       * @return This builder for chaining.
       */
      public Builder setFloorNo(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        floorNo_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * <code>string floor_no = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearFloorNo() {
        floorNo_ = getDefaultInstance().getFloorNo();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * <code>string floor_no = 10;</code>
       * @param value The bytes for floorNo to set.
       * @return This builder for chaining.
       */
      public Builder setFloorNoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        floorNo_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object doorNo_ = "";
      /**
       * <code>string door_no = 11;</code>
       * @return The doorNo.
       */
      public java.lang.String getDoorNo() {
        java.lang.Object ref = doorNo_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          doorNo_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string door_no = 11;</code>
       * @return The bytes for doorNo.
       */
      public com.google.protobuf.ByteString
          getDoorNoBytes() {
        java.lang.Object ref = doorNo_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          doorNo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string door_no = 11;</code>
       * @param value The doorNo to set.
       * @return This builder for chaining.
       */
      public Builder setDoorNo(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        doorNo_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * <code>string door_no = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearDoorNo() {
        doorNo_ = getDefaultInstance().getDoorNo();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * <code>string door_no = 11;</code>
       * @param value The bytes for doorNo to set.
       * @return This builder for chaining.
       */
      public Builder setDoorNoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        doorNo_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      private java.lang.Object addressLine1_ = "";
      /**
       * <code>string address_line1 = 12;</code>
       * @return The addressLine1.
       */
      public java.lang.String getAddressLine1() {
        java.lang.Object ref = addressLine1_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          addressLine1_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string address_line1 = 12;</code>
       * @return The bytes for addressLine1.
       */
      public com.google.protobuf.ByteString
          getAddressLine1Bytes() {
        java.lang.Object ref = addressLine1_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addressLine1_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string address_line1 = 12;</code>
       * @param value The addressLine1 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine1(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        addressLine1_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * <code>string address_line1 = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearAddressLine1() {
        addressLine1_ = getDefaultInstance().getAddressLine1();
        bitField0_ = (bitField0_ & ~0x00000800);
        onChanged();
        return this;
      }
      /**
       * <code>string address_line1 = 12;</code>
       * @param value The bytes for addressLine1 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine1Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        addressLine1_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }

      private java.lang.Object addressLine2_ = "";
      /**
       * <code>string address_line2 = 13;</code>
       * @return The addressLine2.
       */
      public java.lang.String getAddressLine2() {
        java.lang.Object ref = addressLine2_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          addressLine2_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string address_line2 = 13;</code>
       * @return The bytes for addressLine2.
       */
      public com.google.protobuf.ByteString
          getAddressLine2Bytes() {
        java.lang.Object ref = addressLine2_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addressLine2_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string address_line2 = 13;</code>
       * @param value The addressLine2 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine2(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        addressLine2_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * <code>string address_line2 = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearAddressLine2() {
        addressLine2_ = getDefaultInstance().getAddressLine2();
        bitField0_ = (bitField0_ & ~0x00001000);
        onChanged();
        return this;
      }
      /**
       * <code>string address_line2 = 13;</code>
       * @param value The bytes for addressLine2 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine2Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        addressLine2_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }

      private java.lang.Object addressLine3_ = "";
      /**
       * <code>string address_line3 = 14;</code>
       * @return The addressLine3.
       */
      public java.lang.String getAddressLine3() {
        java.lang.Object ref = addressLine3_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          addressLine3_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string address_line3 = 14;</code>
       * @return The bytes for addressLine3.
       */
      public com.google.protobuf.ByteString
          getAddressLine3Bytes() {
        java.lang.Object ref = addressLine3_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addressLine3_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string address_line3 = 14;</code>
       * @param value The addressLine3 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine3(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        addressLine3_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * <code>string address_line3 = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearAddressLine3() {
        addressLine3_ = getDefaultInstance().getAddressLine3();
        bitField0_ = (bitField0_ & ~0x00002000);
        onChanged();
        return this;
      }
      /**
       * <code>string address_line3 = 14;</code>
       * @param value The bytes for addressLine3 to set.
       * @return This builder for chaining.
       */
      public Builder setAddressLine3Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        addressLine3_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }

      private java.lang.Object postOfficeBox_ = "";
      /**
       * <code>string post_office_box = 15;</code>
       * @return The postOfficeBox.
       */
      public java.lang.String getPostOfficeBox() {
        java.lang.Object ref = postOfficeBox_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          postOfficeBox_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string post_office_box = 15;</code>
       * @return The bytes for postOfficeBox.
       */
      public com.google.protobuf.ByteString
          getPostOfficeBoxBytes() {
        java.lang.Object ref = postOfficeBox_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          postOfficeBox_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string post_office_box = 15;</code>
       * @param value The postOfficeBox to set.
       * @return This builder for chaining.
       */
      public Builder setPostOfficeBox(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        postOfficeBox_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * <code>string post_office_box = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearPostOfficeBox() {
        postOfficeBox_ = getDefaultInstance().getPostOfficeBox();
        bitField0_ = (bitField0_ & ~0x00004000);
        onChanged();
        return this;
      }
      /**
       * <code>string post_office_box = 15;</code>
       * @param value The bytes for postOfficeBox to set.
       * @return This builder for chaining.
       */
      public Builder setPostOfficeBoxBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        postOfficeBox_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.CPDUserAddress)
    }

    // @@protoc_insertion_point(class_scope:proto.CPDUserAddress)
    private static final com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CPDUserAddress>
        PARSER = new com.google.protobuf.AbstractParser<CPDUserAddress>() {
      @java.lang.Override
      public CPDUserAddress 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<CPDUserAddress> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserAddress getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CPDUserCommunicationPreferenceOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.CPDUserCommunicationPreference)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>bool contacted_by_phone = 1;</code>
     * @return The contactedByPhone.
     */
    boolean getContactedByPhone();

    /**
     * <code>bool contacted_by_letter = 2;</code>
     * @return The contactedByLetter.
     */
    boolean getContactedByLetter();

    /**
     * <code>bool contacted_by_email = 3;</code>
     * @return The contactedByEmail.
     */
    boolean getContactedByEmail();

    /**
     * <code>bool contacted_by_sms = 4;</code>
     * @return The contactedBySms.
     */
    boolean getContactedBySms();
  }
  /**
   * Protobuf type {@code proto.CPDUserCommunicationPreference}
   */
  public static final class CPDUserCommunicationPreference extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.CPDUserCommunicationPreference)
      CPDUserCommunicationPreferenceOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "CPDUserCommunicationPreference");
    }
    // Use CPDUserCommunicationPreference.newBuilder() to construct.
    private CPDUserCommunicationPreference(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private CPDUserCommunicationPreference() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserCommunicationPreference_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserCommunicationPreference_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder.class);
    }

    public static final int CONTACTED_BY_PHONE_FIELD_NUMBER = 1;
    private boolean contactedByPhone_ = false;
    /**
     * <code>bool contacted_by_phone = 1;</code>
     * @return The contactedByPhone.
     */
    @java.lang.Override
    public boolean getContactedByPhone() {
      return contactedByPhone_;
    }

    public static final int CONTACTED_BY_LETTER_FIELD_NUMBER = 2;
    private boolean contactedByLetter_ = false;
    /**
     * <code>bool contacted_by_letter = 2;</code>
     * @return The contactedByLetter.
     */
    @java.lang.Override
    public boolean getContactedByLetter() {
      return contactedByLetter_;
    }

    public static final int CONTACTED_BY_EMAIL_FIELD_NUMBER = 3;
    private boolean contactedByEmail_ = false;
    /**
     * <code>bool contacted_by_email = 3;</code>
     * @return The contactedByEmail.
     */
    @java.lang.Override
    public boolean getContactedByEmail() {
      return contactedByEmail_;
    }

    public static final int CONTACTED_BY_SMS_FIELD_NUMBER = 4;
    private boolean contactedBySms_ = false;
    /**
     * <code>bool contacted_by_sms = 4;</code>
     * @return The contactedBySms.
     */
    @java.lang.Override
    public boolean getContactedBySms() {
      return contactedBySms_;
    }

    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 (contactedByPhone_ != false) {
        output.writeBool(1, contactedByPhone_);
      }
      if (contactedByLetter_ != false) {
        output.writeBool(2, contactedByLetter_);
      }
      if (contactedByEmail_ != false) {
        output.writeBool(3, contactedByEmail_);
      }
      if (contactedBySms_ != false) {
        output.writeBool(4, contactedBySms_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (contactedByPhone_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, contactedByPhone_);
      }
      if (contactedByLetter_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, contactedByLetter_);
      }
      if (contactedByEmail_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, contactedByEmail_);
      }
      if (contactedBySms_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, contactedBySms_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference other = (com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference) obj;

      if (getContactedByPhone()
          != other.getContactedByPhone()) return false;
      if (getContactedByLetter()
          != other.getContactedByLetter()) return false;
      if (getContactedByEmail()
          != other.getContactedByEmail()) return false;
      if (getContactedBySms()
          != other.getContactedBySms()) 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) + CONTACTED_BY_PHONE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getContactedByPhone());
      hash = (37 * hash) + CONTACTED_BY_LETTER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getContactedByLetter());
      hash = (37 * hash) + CONTACTED_BY_EMAIL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getContactedByEmail());
      hash = (37 * hash) + CONTACTED_BY_SMS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getContactedBySms());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.CPDUserCommunicationPreference}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.CPDUserCommunicationPreference)
        com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreferenceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserCommunicationPreference_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserCommunicationPreference_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.class, com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        contactedByPhone_ = false;
        contactedByLetter_ = false;
        contactedByEmail_ = false;
        contactedBySms_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_CPDUserCommunicationPreference_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference build() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference result = new com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.contactedByPhone_ = contactedByPhone_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.contactedByLetter_ = contactedByLetter_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.contactedByEmail_ = contactedByEmail_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.contactedBySms_ = contactedBySms_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference.getDefaultInstance()) return this;
        if (other.getContactedByPhone() != false) {
          setContactedByPhone(other.getContactedByPhone());
        }
        if (other.getContactedByLetter() != false) {
          setContactedByLetter(other.getContactedByLetter());
        }
        if (other.getContactedByEmail() != false) {
          setContactedByEmail(other.getContactedByEmail());
        }
        if (other.getContactedBySms() != false) {
          setContactedBySms(other.getContactedBySms());
        }
        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: {
                contactedByPhone_ = input.readBool();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                contactedByLetter_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                contactedByEmail_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                contactedBySms_ = input.readBool();
                bitField0_ |= 0x00000008;
                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 int bitField0_;

      private boolean contactedByPhone_ ;
      /**
       * <code>bool contacted_by_phone = 1;</code>
       * @return The contactedByPhone.
       */
      @java.lang.Override
      public boolean getContactedByPhone() {
        return contactedByPhone_;
      }
      /**
       * <code>bool contacted_by_phone = 1;</code>
       * @param value The contactedByPhone to set.
       * @return This builder for chaining.
       */
      public Builder setContactedByPhone(boolean value) {

        contactedByPhone_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>bool contacted_by_phone = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearContactedByPhone() {
        bitField0_ = (bitField0_ & ~0x00000001);
        contactedByPhone_ = false;
        onChanged();
        return this;
      }

      private boolean contactedByLetter_ ;
      /**
       * <code>bool contacted_by_letter = 2;</code>
       * @return The contactedByLetter.
       */
      @java.lang.Override
      public boolean getContactedByLetter() {
        return contactedByLetter_;
      }
      /**
       * <code>bool contacted_by_letter = 2;</code>
       * @param value The contactedByLetter to set.
       * @return This builder for chaining.
       */
      public Builder setContactedByLetter(boolean value) {

        contactedByLetter_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>bool contacted_by_letter = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearContactedByLetter() {
        bitField0_ = (bitField0_ & ~0x00000002);
        contactedByLetter_ = false;
        onChanged();
        return this;
      }

      private boolean contactedByEmail_ ;
      /**
       * <code>bool contacted_by_email = 3;</code>
       * @return The contactedByEmail.
       */
      @java.lang.Override
      public boolean getContactedByEmail() {
        return contactedByEmail_;
      }
      /**
       * <code>bool contacted_by_email = 3;</code>
       * @param value The contactedByEmail to set.
       * @return This builder for chaining.
       */
      public Builder setContactedByEmail(boolean value) {

        contactedByEmail_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>bool contacted_by_email = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearContactedByEmail() {
        bitField0_ = (bitField0_ & ~0x00000004);
        contactedByEmail_ = false;
        onChanged();
        return this;
      }

      private boolean contactedBySms_ ;
      /**
       * <code>bool contacted_by_sms = 4;</code>
       * @return The contactedBySms.
       */
      @java.lang.Override
      public boolean getContactedBySms() {
        return contactedBySms_;
      }
      /**
       * <code>bool contacted_by_sms = 4;</code>
       * @param value The contactedBySms to set.
       * @return This builder for chaining.
       */
      public Builder setContactedBySms(boolean value) {

        contactedBySms_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>bool contacted_by_sms = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearContactedBySms() {
        bitField0_ = (bitField0_ & ~0x00000008);
        contactedBySms_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.CPDUserCommunicationPreference)
    }

    // @@protoc_insertion_point(class_scope:proto.CPDUserCommunicationPreference)
    private static final com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CPDUserCommunicationPreference>
        PARSER = new com.google.protobuf.AbstractParser<CPDUserCommunicationPreference>() {
      @java.lang.Override
      public CPDUserCommunicationPreference 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<CPDUserCommunicationPreference> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.CPDUserCommunicationPreference getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcknowledgeUserPictureUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeUserPictureUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();
  }
  /**
   * Protobuf type {@code proto.AcknowledgeUserPictureUpdate}
   */
  public static final class AcknowledgeUserPictureUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeUserPictureUpdate)
      AcknowledgeUserPictureUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeUserPictureUpdate");
    }
    // Use AcknowledgeUserPictureUpdate.newBuilder() to construct.
    private AcknowledgeUserPictureUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeUserPictureUpdate() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPictureUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPictureUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AcknowledgeUserPictureUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeUserPictureUpdate)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPictureUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPictureUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPictureUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeUserPictureUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeUserPictureUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeUserPictureUpdate>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeUserPictureUpdate>() {
      @java.lang.Override
      public AcknowledgeUserPictureUpdate 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<AcknowledgeUserPictureUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPictureUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UserPictureUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.UserPictureUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();

    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The ciamId.
     */
    java.lang.String getCiamId();
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The bytes for ciamId.
     */
    com.google.protobuf.ByteString
        getCiamIdBytes();

    /**
     * <pre>
     * when was the event emitted? This is the time of the update
     * </pre>
     *
     * <code>int64 emit_timestamp = 2;</code>
     * @return The emitTimestamp.
     */
    long getEmitTimestamp();

    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 6;</code>
     * @return The emitTimestampInMs.
     */
    long getEmitTimestampInMs();

    /**
     * <pre>
     * this timestamp indicates when a message was read from the eventhub
     * </pre>
     *
     * <code>int64 eventhub_receive_timestamp = 3;</code>
     * @return The eventhubReceiveTimestamp.
     */
    long getEventhubReceiveTimestamp();

    /**
     * <pre>
     * this timestamp indicates when a message was processed in the app twin
     * </pre>
     *
     * <code>int64 apptwin_receive_timestamp = 4;</code>
     * @return The apptwinReceiveTimestamp.
     */
    long getApptwinReceiveTimestamp();
  }
  /**
   * <pre>
   * Sent after a picture upload/change
   * </pre>
   *
   * Protobuf type {@code proto.UserPictureUpdate}
   */
  public static final class UserPictureUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.UserPictureUpdate)
      UserPictureUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "UserPictureUpdate");
    }
    // Use UserPictureUpdate.newBuilder() to construct.
    private UserPictureUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private UserPictureUpdate() {
      ciamId_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPictureUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPictureUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    public static final int CIAM_ID_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ciamId_ = "";
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The ciamId.
     */
    @java.lang.Override
    public java.lang.String getCiamId() {
      java.lang.Object ref = ciamId_;
      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();
        ciamId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The bytes for ciamId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCiamIdBytes() {
      java.lang.Object ref = ciamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ciamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EMIT_TIMESTAMP_FIELD_NUMBER = 2;
    private long emitTimestamp_ = 0L;
    /**
     * <pre>
     * when was the event emitted? This is the time of the update
     * </pre>
     *
     * <code>int64 emit_timestamp = 2;</code>
     * @return The emitTimestamp.
     */
    @java.lang.Override
    public long getEmitTimestamp() {
      return emitTimestamp_;
    }

    public static final int EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER = 6;
    private long emitTimestampInMs_ = 0L;
    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 6;</code>
     * @return The emitTimestampInMs.
     */
    @java.lang.Override
    public long getEmitTimestampInMs() {
      return emitTimestampInMs_;
    }

    public static final int EVENTHUB_RECEIVE_TIMESTAMP_FIELD_NUMBER = 3;
    private long eventhubReceiveTimestamp_ = 0L;
    /**
     * <pre>
     * this timestamp indicates when a message was read from the eventhub
     * </pre>
     *
     * <code>int64 eventhub_receive_timestamp = 3;</code>
     * @return The eventhubReceiveTimestamp.
     */
    @java.lang.Override
    public long getEventhubReceiveTimestamp() {
      return eventhubReceiveTimestamp_;
    }

    public static final int APPTWIN_RECEIVE_TIMESTAMP_FIELD_NUMBER = 4;
    private long apptwinReceiveTimestamp_ = 0L;
    /**
     * <pre>
     * this timestamp indicates when a message was processed in the app twin
     * </pre>
     *
     * <code>int64 apptwin_receive_timestamp = 4;</code>
     * @return The apptwinReceiveTimestamp.
     */
    @java.lang.Override
    public long getApptwinReceiveTimestamp() {
      return apptwinReceiveTimestamp_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      if (emitTimestamp_ != 0L) {
        output.writeInt64(2, emitTimestamp_);
      }
      if (eventhubReceiveTimestamp_ != 0L) {
        output.writeInt64(3, eventhubReceiveTimestamp_);
      }
      if (apptwinReceiveTimestamp_ != 0L) {
        output.writeInt64(4, apptwinReceiveTimestamp_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, ciamId_);
      }
      if (emitTimestampInMs_ != 0L) {
        output.writeInt64(6, emitTimestampInMs_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      if (emitTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, emitTimestamp_);
      }
      if (eventhubReceiveTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, eventhubReceiveTimestamp_);
      }
      if (apptwinReceiveTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, apptwinReceiveTimestamp_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, ciamId_);
      }
      if (emitTimestampInMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, emitTimestampInMs_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate other = (com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) return false;
      if (!getCiamId()
          .equals(other.getCiamId())) return false;
      if (getEmitTimestamp()
          != other.getEmitTimestamp()) return false;
      if (getEmitTimestampInMs()
          != other.getEmitTimestampInMs()) return false;
      if (getEventhubReceiveTimestamp()
          != other.getEventhubReceiveTimestamp()) return false;
      if (getApptwinReceiveTimestamp()
          != other.getApptwinReceiveTimestamp()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (37 * hash) + CIAM_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCiamId().hashCode();
      hash = (37 * hash) + EMIT_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestamp());
      hash = (37 * hash) + EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestampInMs());
      hash = (37 * hash) + EVENTHUB_RECEIVE_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEventhubReceiveTimestamp());
      hash = (37 * hash) + APPTWIN_RECEIVE_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getApptwinReceiveTimestamp());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Sent after a picture upload/change
     * </pre>
     *
     * Protobuf type {@code proto.UserPictureUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.UserPictureUpdate)
        com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPictureUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPictureUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sequenceNumber_ = 0;
        ciamId_ = "";
        emitTimestamp_ = 0L;
        emitTimestampInMs_ = 0L;
        eventhubReceiveTimestamp_ = 0L;
        apptwinReceiveTimestamp_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPictureUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate result = new com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.ciamId_ = ciamId_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.emitTimestamp_ = emitTimestamp_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.emitTimestampInMs_ = emitTimestampInMs_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.eventhubReceiveTimestamp_ = eventhubReceiveTimestamp_;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.apptwinReceiveTimestamp_ = apptwinReceiveTimestamp_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        if (!other.getCiamId().isEmpty()) {
          ciamId_ = other.ciamId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.getEmitTimestamp() != 0L) {
          setEmitTimestamp(other.getEmitTimestamp());
        }
        if (other.getEmitTimestampInMs() != 0L) {
          setEmitTimestampInMs(other.getEmitTimestampInMs());
        }
        if (other.getEventhubReceiveTimestamp() != 0L) {
          setEventhubReceiveTimestamp(other.getEventhubReceiveTimestamp());
        }
        if (other.getApptwinReceiveTimestamp() != 0L) {
          setApptwinReceiveTimestamp(other.getApptwinReceiveTimestamp());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                emitTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 16
              case 24: {
                eventhubReceiveTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000010;
                break;
              } // case 24
              case 32: {
                apptwinReceiveTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000020;
                break;
              } // case 32
              case 42: {
                ciamId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 42
              case 48: {
                emitTimestampInMs_ = input.readInt64();
                bitField0_ |= 0x00000008;
                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 int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object ciamId_ = "";
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return The ciamId.
       */
      public java.lang.String getCiamId() {
        java.lang.Object ref = ciamId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ciamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return The bytes for ciamId.
       */
      public com.google.protobuf.ByteString
          getCiamIdBytes() {
        java.lang.Object ref = ciamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ciamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @param value The ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearCiamId() {
        ciamId_ = getDefaultInstance().getCiamId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @param value The bytes for ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long emitTimestamp_ ;
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @return The emitTimestamp.
       */
      @java.lang.Override
      public long getEmitTimestamp() {
        return emitTimestamp_;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @param value The emitTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestamp(long value) {

        emitTimestamp_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000004);
        emitTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long emitTimestampInMs_ ;
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @return The emitTimestampInMs.
       */
      @java.lang.Override
      public long getEmitTimestampInMs() {
        return emitTimestampInMs_;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @param value The emitTimestampInMs to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestampInMs(long value) {

        emitTimestampInMs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestampInMs() {
        bitField0_ = (bitField0_ & ~0x00000008);
        emitTimestampInMs_ = 0L;
        onChanged();
        return this;
      }

      private long eventhubReceiveTimestamp_ ;
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @return The eventhubReceiveTimestamp.
       */
      @java.lang.Override
      public long getEventhubReceiveTimestamp() {
        return eventhubReceiveTimestamp_;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @param value The eventhubReceiveTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEventhubReceiveTimestamp(long value) {

        eventhubReceiveTimestamp_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventhubReceiveTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000010);
        eventhubReceiveTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long apptwinReceiveTimestamp_ ;
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @return The apptwinReceiveTimestamp.
       */
      @java.lang.Override
      public long getApptwinReceiveTimestamp() {
        return apptwinReceiveTimestamp_;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @param value The apptwinReceiveTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setApptwinReceiveTimestamp(long value) {

        apptwinReceiveTimestamp_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearApptwinReceiveTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000020);
        apptwinReceiveTimestamp_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.UserPictureUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.UserPictureUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UserPictureUpdate>
        PARSER = new com.google.protobuf.AbstractParser<UserPictureUpdate>() {
      @java.lang.Override
      public UserPictureUpdate 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<UserPictureUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.UserPictureUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcknowledgeUserPINUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeUserPINUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();
  }
  /**
   * Protobuf type {@code proto.AcknowledgeUserPINUpdate}
   */
  public static final class AcknowledgeUserPINUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeUserPINUpdate)
      AcknowledgeUserPINUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeUserPINUpdate");
    }
    // Use AcknowledgeUserPINUpdate.newBuilder() to construct.
    private AcknowledgeUserPINUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeUserPINUpdate() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPINUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPINUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code proto.AcknowledgeUserPINUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeUserPINUpdate)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPINUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPINUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUserPINUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeUserPINUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeUserPINUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeUserPINUpdate>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeUserPINUpdate>() {
      @java.lang.Override
      public AcknowledgeUserPINUpdate 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<AcknowledgeUserPINUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUserPINUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UserPINUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.UserPINUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    int getSequenceNumber();

    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The ciamId.
     */
    java.lang.String getCiamId();
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The bytes for ciamId.
     */
    com.google.protobuf.ByteString
        getCiamIdBytes();

    /**
     * <pre>
     * when was the event emitted? This is the time of the update
     * </pre>
     *
     * <code>int64 emit_timestamp = 2;</code>
     * @return The emitTimestamp.
     */
    long getEmitTimestamp();

    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 6;</code>
     * @return The emitTimestampInMs.
     */
    long getEmitTimestampInMs();

    /**
     * <pre>
     * this timestamp indicates when a message was read from the eventhub
     * </pre>
     *
     * <code>int64 eventhub_receive_timestamp = 3;</code>
     * @return The eventhubReceiveTimestamp.
     */
    long getEventhubReceiveTimestamp();

    /**
     * <pre>
     * this timestamp indicates when a message was processed in the app twin
     * </pre>
     *
     * <code>int64 apptwin_receive_timestamp = 4;</code>
     * @return The apptwinReceiveTimestamp.
     */
    long getApptwinReceiveTimestamp();
  }
  /**
   * <pre>
   * Sent after a PIN update
   * </pre>
   *
   * Protobuf type {@code proto.UserPINUpdate}
   */
  public static final class UserPINUpdate extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.UserPINUpdate)
      UserPINUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "UserPINUpdate");
    }
    // Use UserPINUpdate.newBuilder() to construct.
    private UserPINUpdate(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private UserPINUpdate() {
      ciamId_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPINUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPINUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.Builder.class);
    }

    public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 1;
    private int sequenceNumber_ = 0;
    /**
     * <code>int32 sequence_number = 1;</code>
     * @return The sequenceNumber.
     */
    @java.lang.Override
    public int getSequenceNumber() {
      return sequenceNumber_;
    }

    public static final int CIAM_ID_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object ciamId_ = "";
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The ciamId.
     */
    @java.lang.Override
    public java.lang.String getCiamId() {
      java.lang.Object ref = ciamId_;
      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();
        ciamId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     * ciam ID
     * </pre>
     *
     * <code>string ciam_id = 5;</code>
     * @return The bytes for ciamId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCiamIdBytes() {
      java.lang.Object ref = ciamId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ciamId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EMIT_TIMESTAMP_FIELD_NUMBER = 2;
    private long emitTimestamp_ = 0L;
    /**
     * <pre>
     * when was the event emitted? This is the time of the update
     * </pre>
     *
     * <code>int64 emit_timestamp = 2;</code>
     * @return The emitTimestamp.
     */
    @java.lang.Override
    public long getEmitTimestamp() {
      return emitTimestamp_;
    }

    public static final int EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER = 6;
    private long emitTimestampInMs_ = 0L;
    /**
     * <pre>
     * When was the event emitted (milliseconds in Unix time)
     * </pre>
     *
     * <code>int64 emit_timestamp_in_ms = 6;</code>
     * @return The emitTimestampInMs.
     */
    @java.lang.Override
    public long getEmitTimestampInMs() {
      return emitTimestampInMs_;
    }

    public static final int EVENTHUB_RECEIVE_TIMESTAMP_FIELD_NUMBER = 3;
    private long eventhubReceiveTimestamp_ = 0L;
    /**
     * <pre>
     * this timestamp indicates when a message was read from the eventhub
     * </pre>
     *
     * <code>int64 eventhub_receive_timestamp = 3;</code>
     * @return The eventhubReceiveTimestamp.
     */
    @java.lang.Override
    public long getEventhubReceiveTimestamp() {
      return eventhubReceiveTimestamp_;
    }

    public static final int APPTWIN_RECEIVE_TIMESTAMP_FIELD_NUMBER = 4;
    private long apptwinReceiveTimestamp_ = 0L;
    /**
     * <pre>
     * this timestamp indicates when a message was processed in the app twin
     * </pre>
     *
     * <code>int64 apptwin_receive_timestamp = 4;</code>
     * @return The apptwinReceiveTimestamp.
     */
    @java.lang.Override
    public long getApptwinReceiveTimestamp() {
      return apptwinReceiveTimestamp_;
    }

    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 (sequenceNumber_ != 0) {
        output.writeInt32(1, sequenceNumber_);
      }
      if (emitTimestamp_ != 0L) {
        output.writeInt64(2, emitTimestamp_);
      }
      if (eventhubReceiveTimestamp_ != 0L) {
        output.writeInt64(3, eventhubReceiveTimestamp_);
      }
      if (apptwinReceiveTimestamp_ != 0L) {
        output.writeInt64(4, apptwinReceiveTimestamp_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, ciamId_);
      }
      if (emitTimestampInMs_ != 0L) {
        output.writeInt64(6, emitTimestampInMs_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (sequenceNumber_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, sequenceNumber_);
      }
      if (emitTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, emitTimestamp_);
      }
      if (eventhubReceiveTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, eventhubReceiveTimestamp_);
      }
      if (apptwinReceiveTimestamp_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, apptwinReceiveTimestamp_);
      }
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(ciamId_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, ciamId_);
      }
      if (emitTimestampInMs_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(6, emitTimestampInMs_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate other = (com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate) obj;

      if (getSequenceNumber()
          != other.getSequenceNumber()) return false;
      if (!getCiamId()
          .equals(other.getCiamId())) return false;
      if (getEmitTimestamp()
          != other.getEmitTimestamp()) return false;
      if (getEmitTimestampInMs()
          != other.getEmitTimestampInMs()) return false;
      if (getEventhubReceiveTimestamp()
          != other.getEventhubReceiveTimestamp()) return false;
      if (getApptwinReceiveTimestamp()
          != other.getApptwinReceiveTimestamp()) 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) + SEQUENCE_NUMBER_FIELD_NUMBER;
      hash = (53 * hash) + getSequenceNumber();
      hash = (37 * hash) + CIAM_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCiamId().hashCode();
      hash = (37 * hash) + EMIT_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestamp());
      hash = (37 * hash) + EMIT_TIMESTAMP_IN_MS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEmitTimestampInMs());
      hash = (37 * hash) + EVENTHUB_RECEIVE_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getEventhubReceiveTimestamp());
      hash = (37 * hash) + APPTWIN_RECEIVE_TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getApptwinReceiveTimestamp());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Sent after a PIN update
     * </pre>
     *
     * Protobuf type {@code proto.UserPINUpdate}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.UserPINUpdate)
        com.daimler.mbcarkit.proto.UserEvents.UserPINUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPINUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPINUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.class, com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sequenceNumber_ = 0;
        ciamId_ = "";
        emitTimestamp_ = 0L;
        emitTimestampInMs_ = 0L;
        eventhubReceiveTimestamp_ = 0L;
        apptwinReceiveTimestamp_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UserPINUpdate_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate build() {
        com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate result = new com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sequenceNumber_ = sequenceNumber_;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.ciamId_ = ciamId_;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.emitTimestamp_ = emitTimestamp_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.emitTimestampInMs_ = emitTimestampInMs_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.eventhubReceiveTimestamp_ = eventhubReceiveTimestamp_;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.apptwinReceiveTimestamp_ = apptwinReceiveTimestamp_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate.getDefaultInstance()) return this;
        if (other.getSequenceNumber() != 0) {
          setSequenceNumber(other.getSequenceNumber());
        }
        if (!other.getCiamId().isEmpty()) {
          ciamId_ = other.ciamId_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.getEmitTimestamp() != 0L) {
          setEmitTimestamp(other.getEmitTimestamp());
        }
        if (other.getEmitTimestampInMs() != 0L) {
          setEmitTimestampInMs(other.getEmitTimestampInMs());
        }
        if (other.getEventhubReceiveTimestamp() != 0L) {
          setEventhubReceiveTimestamp(other.getEventhubReceiveTimestamp());
        }
        if (other.getApptwinReceiveTimestamp() != 0L) {
          setApptwinReceiveTimestamp(other.getApptwinReceiveTimestamp());
        }
        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: {
                sequenceNumber_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                emitTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 16
              case 24: {
                eventhubReceiveTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000010;
                break;
              } // case 24
              case 32: {
                apptwinReceiveTimestamp_ = input.readInt64();
                bitField0_ |= 0x00000020;
                break;
              } // case 32
              case 42: {
                ciamId_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000002;
                break;
              } // case 42
              case 48: {
                emitTimestampInMs_ = input.readInt64();
                bitField0_ |= 0x00000008;
                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 int bitField0_;

      private int sequenceNumber_ ;
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return The sequenceNumber.
       */
      @java.lang.Override
      public int getSequenceNumber() {
        return sequenceNumber_;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @param value The sequenceNumber to set.
       * @return This builder for chaining.
       */
      public Builder setSequenceNumber(int value) {

        sequenceNumber_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>int32 sequence_number = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSequenceNumber() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sequenceNumber_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object ciamId_ = "";
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return The ciamId.
       */
      public java.lang.String getCiamId() {
        java.lang.Object ref = ciamId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ciamId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return The bytes for ciamId.
       */
      public com.google.protobuf.ByteString
          getCiamIdBytes() {
        java.lang.Object ref = ciamId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ciamId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @param value The ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamId(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearCiamId() {
        ciamId_ = getDefaultInstance().getCiamId();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ciam ID
       * </pre>
       *
       * <code>string ciam_id = 5;</code>
       * @param value The bytes for ciamId to set.
       * @return This builder for chaining.
       */
      public Builder setCiamIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        ciamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long emitTimestamp_ ;
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @return The emitTimestamp.
       */
      @java.lang.Override
      public long getEmitTimestamp() {
        return emitTimestamp_;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @param value The emitTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestamp(long value) {

        emitTimestamp_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * when was the event emitted? This is the time of the update
       * </pre>
       *
       * <code>int64 emit_timestamp = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000004);
        emitTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long emitTimestampInMs_ ;
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @return The emitTimestampInMs.
       */
      @java.lang.Override
      public long getEmitTimestampInMs() {
        return emitTimestampInMs_;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @param value The emitTimestampInMs to set.
       * @return This builder for chaining.
       */
      public Builder setEmitTimestampInMs(long value) {

        emitTimestampInMs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * When was the event emitted (milliseconds in Unix time)
       * </pre>
       *
       * <code>int64 emit_timestamp_in_ms = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearEmitTimestampInMs() {
        bitField0_ = (bitField0_ & ~0x00000008);
        emitTimestampInMs_ = 0L;
        onChanged();
        return this;
      }

      private long eventhubReceiveTimestamp_ ;
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @return The eventhubReceiveTimestamp.
       */
      @java.lang.Override
      public long getEventhubReceiveTimestamp() {
        return eventhubReceiveTimestamp_;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @param value The eventhubReceiveTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setEventhubReceiveTimestamp(long value) {

        eventhubReceiveTimestamp_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was read from the eventhub
       * </pre>
       *
       * <code>int64 eventhub_receive_timestamp = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearEventhubReceiveTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000010);
        eventhubReceiveTimestamp_ = 0L;
        onChanged();
        return this;
      }

      private long apptwinReceiveTimestamp_ ;
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @return The apptwinReceiveTimestamp.
       */
      @java.lang.Override
      public long getApptwinReceiveTimestamp() {
        return apptwinReceiveTimestamp_;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @param value The apptwinReceiveTimestamp to set.
       * @return This builder for chaining.
       */
      public Builder setApptwinReceiveTimestamp(long value) {

        apptwinReceiveTimestamp_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * this timestamp indicates when a message was processed in the app twin
       * </pre>
       *
       * <code>int64 apptwin_receive_timestamp = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearApptwinReceiveTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000020);
        apptwinReceiveTimestamp_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.UserPINUpdate)
    }

    // @@protoc_insertion_point(class_scope:proto.UserPINUpdate)
    private static final com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UserPINUpdate>
        PARSER = new com.google.protobuf.AbstractParser<UserPINUpdate>() {
      @java.lang.Override
      public UserPINUpdate 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<UserPINUpdate> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.UserPINUpdate getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UpdateUserJWTRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.UpdateUserJWTRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string jwt = 1;</code>
     * @return The jwt.
     */
    java.lang.String getJwt();
    /**
     * <code>string jwt = 1;</code>
     * @return The bytes for jwt.
     */
    com.google.protobuf.ByteString
        getJwtBytes();
  }
  /**
   * <pre>
   * Contains the refreshed jwt of the user
   * </pre>
   *
   * Protobuf type {@code proto.UpdateUserJWTRequest}
   */
  public static final class UpdateUserJWTRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.UpdateUserJWTRequest)
      UpdateUserJWTRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "UpdateUserJWTRequest");
    }
    // Use UpdateUserJWTRequest.newBuilder() to construct.
    private UpdateUserJWTRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private UpdateUserJWTRequest() {
      jwt_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UpdateUserJWTRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UpdateUserJWTRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.class, com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.Builder.class);
    }

    public static final int JWT_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object jwt_ = "";
    /**
     * <code>string jwt = 1;</code>
     * @return The jwt.
     */
    @java.lang.Override
    public java.lang.String getJwt() {
      java.lang.Object ref = jwt_;
      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();
        jwt_ = s;
        return s;
      }
    }
    /**
     * <code>string jwt = 1;</code>
     * @return The bytes for jwt.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getJwtBytes() {
      java.lang.Object ref = jwt_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        jwt_ = 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 (!com.google.protobuf.GeneratedMessage.isStringEmpty(jwt_)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, jwt_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (!com.google.protobuf.GeneratedMessage.isStringEmpty(jwt_)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, jwt_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest other = (com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest) obj;

      if (!getJwt()
          .equals(other.getJwt())) 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) + JWT_FIELD_NUMBER;
      hash = (53 * hash) + getJwt().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Contains the refreshed jwt of the user
     * </pre>
     *
     * Protobuf type {@code proto.UpdateUserJWTRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.UpdateUserJWTRequest)
        com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UpdateUserJWTRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UpdateUserJWTRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.class, com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        jwt_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_UpdateUserJWTRequest_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest build() {
        com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest result = new com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.jwt_ = jwt_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest.getDefaultInstance()) return this;
        if (!other.getJwt().isEmpty()) {
          jwt_ = other.jwt_;
          bitField0_ |= 0x00000001;
          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: {
                jwt_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000001;
                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 int bitField0_;

      private java.lang.Object jwt_ = "";
      /**
       * <code>string jwt = 1;</code>
       * @return The jwt.
       */
      public java.lang.String getJwt() {
        java.lang.Object ref = jwt_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          jwt_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string jwt = 1;</code>
       * @return The bytes for jwt.
       */
      public com.google.protobuf.ByteString
          getJwtBytes() {
        java.lang.Object ref = jwt_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          jwt_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string jwt = 1;</code>
       * @param value The jwt to set.
       * @return This builder for chaining.
       */
      public Builder setJwt(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        jwt_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>string jwt = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearJwt() {
        jwt_ = getDefaultInstance().getJwt();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>string jwt = 1;</code>
       * @param value The bytes for jwt to set.
       * @return This builder for chaining.
       */
      public Builder setJwtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        jwt_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:proto.UpdateUserJWTRequest)
    }

    // @@protoc_insertion_point(class_scope:proto.UpdateUserJWTRequest)
    private static final com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UpdateUserJWTRequest>
        PARSER = new com.google.protobuf.AbstractParser<UpdateUserJWTRequest>() {
      @java.lang.Override
      public UpdateUserJWTRequest 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<UpdateUserJWTRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.UpdateUserJWTRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AcknowledgeUpdateUserJWTRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:proto.AcknowledgeUpdateUserJWTRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   * Ack for the UpdateUserJWTRequest
   * </pre>
   *
   * Protobuf type {@code proto.AcknowledgeUpdateUserJWTRequest}
   */
  public static final class AcknowledgeUpdateUserJWTRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:proto.AcknowledgeUpdateUserJWTRequest)
      AcknowledgeUpdateUserJWTRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 33,
        /* patch= */ 6,
        /* suffix= */ "",
        "AcknowledgeUpdateUserJWTRequest");
    }
    // Use AcknowledgeUpdateUserJWTRequest.newBuilder() to construct.
    private AcknowledgeUpdateUserJWTRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
    }
    private AcknowledgeUpdateUserJWTRequest() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUpdateUserJWTRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest)) {
        return super.equals(obj);
      }
      com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest other = (com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest) obj;

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

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

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest 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.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Ack for the UpdateUserJWTRequest
     * </pre>
     *
     * Protobuf type {@code proto.AcknowledgeUpdateUserJWTRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:proto.AcknowledgeUpdateUserJWTRequest)
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUpdateUserJWTRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.class, com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.Builder.class);
      }

      // Construct using com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.newBuilder()
      private Builder() {

      }

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

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.daimler.mbcarkit.proto.UserEvents.internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest getDefaultInstanceForType() {
        return com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.getDefaultInstance();
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest build() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest buildPartial() {
        com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest result = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest) {
          return mergeFrom((com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest other) {
        if (other == com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest.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;
      }

      // @@protoc_insertion_point(builder_scope:proto.AcknowledgeUpdateUserJWTRequest)
    }

    // @@protoc_insertion_point(class_scope:proto.AcknowledgeUpdateUserJWTRequest)
    private static final com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest();
    }

    public static com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<AcknowledgeUpdateUserJWTRequest>
        PARSER = new com.google.protobuf.AbstractParser<AcknowledgeUpdateUserJWTRequest>() {
      @java.lang.Override
      public AcknowledgeUpdateUserJWTRequest 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<AcknowledgeUpdateUserJWTRequest> parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public com.daimler.mbcarkit.proto.UserEvents.AcknowledgeUpdateUserJWTRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeUserDataUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeUserDataUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_UserDataUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_UserDataUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_UserVehicleAuthChangedUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_UserVehicleAuthChangedUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_CPDUserData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_CPDUserData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_CPDUserAddress_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_CPDUserAddress_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_CPDUserCommunicationPreference_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_CPDUserCommunicationPreference_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeUserPictureUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeUserPictureUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_UserPictureUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_UserPictureUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeUserPINUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeUserPINUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_UserPINUpdate_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_UserPINUpdate_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_UpdateUserJWTRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_UpdateUserJWTRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_proto_AcknowledgeUpdateUserJWTRequest_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\021user-events.proto\022\005proto\"4\n\031Acknowledg" +
      "eUserDataUpdate\022\027\n\017sequence_number\030\001 \001(\005" +
      "\"\274\001\n\016UserDataUpdate\022\027\n\017sequence_number\030\001" +
      " \001(\005\022\017\n\007ciam_id\030\002 \001(\t\022\026\n\016emit_timestamp\030" +
      "\003 \001(\003\022\034\n\024emit_timestamp_in_ms\030\010 \001(\003\022$\n\010o" +
      "ld_data\030\006 \001(\0132\022.proto.CPDUserData\022$\n\010new" +
      "_data\030\007 \001(\0132\022.proto.CPDUserData\"B\n\'Ackno" +
      "wledgeUserVehicleAuthChangedUpdate\022\027\n\017se" +
      "quence_number\030\001 \001(\005\"N\n3AcknowledgeAbilit" +
      "yToGetVehicleMasterDataFromRestAPI\022\027\n\017se" +
      "quence_number\030\001 \001(\005\"~\n\034UserVehicleAuthCh" +
      "angedUpdate\022\027\n\017sequence_number\030\001 \001(\005\022\017\n\007" +
      "ciam_id\030\002 \001(\t\022\026\n\016emit_timestamp\030\003 \001(\003\022\034\n" +
      "\024emit_timestamp_in_ms\030\010 \001(\003\"\236\004\n\013CPDUserD" +
      "ata\022\017\n\007ciam_id\030\001 \001(\t\022\017\n\007user_id\030\002 \001(\t\022\022\n" +
      "\nfirst_name\030\003 \001(\t\022\022\n\nlast_name1\030\004 \001(\t\022\022\n" +
      "\nlast_name2\030\005 \001(\t\022\r\n\005title\030\006 \001(\t\022\023\n\013name" +
      "_prefix\030\007 \001(\t\022\026\n\016middle_initial\030\010 \001(\t\022\027\n" +
      "\017salutation_code\030\t \001(\t\022\r\n\005email\030\n \001(\t\022\026\n" +
      "\016landline_phone\030\013 \001(\t\022\033\n\023mobile_phone_nu" +
      "mber\030\014 \001(\t\022\022\n\ncreated_at\030\r \001(\t\022\022\n\ncreate" +
      "d_by\030\016 \001(\t\022\022\n\nupdated_at\030\017 \001(\t\022\020\n\010birthd" +
      "ay\030\034 \001(\t\022\037\n\027preferred_language_code\030\035 \001(" +
      "\t\022\034\n\024account_country_code\030\036 \001(\t\022\r\n\005uc_id" +
      "\030\037 \001(\t\022\013\n\003vip\030  \001(\010\022&\n\007address\030! \001(\0132\025.p" +
      "roto.CPDUserAddress\022G\n\030communication_pre" +
      "ference\030\" \001(\0132%.proto.CPDUserCommunicati" +
      "onPreference\"\263\002\n\016CPDUserAddress\022\024\n\014count" +
      "ry_code\030\001 \001(\t\022\r\n\005state\030\002 \001(\t\022\020\n\010province" +
      "\030\003 \001(\t\022\016\n\006street\030\004 \001(\t\022\020\n\010house_no\030\005 \001(\t" +
      "\022\020\n\010zip_code\030\006 \001(\t\022\014\n\004city\030\007 \001(\t\022\023\n\013stre" +
      "et_type\030\010 \001(\t\022\022\n\nhouse_name\030\t \001(\t\022\020\n\010flo" +
      "or_no\030\n \001(\t\022\017\n\007door_no\030\013 \001(\t\022\025\n\raddress_" +
      "line1\030\014 \001(\t\022\025\n\raddress_line2\030\r \001(\t\022\025\n\rad" +
      "dress_line3\030\016 \001(\t\022\027\n\017post_office_box\030\017 \001" +
      "(\t\"\217\001\n\036CPDUserCommunicationPreference\022\032\n" +
      "\022contacted_by_phone\030\001 \001(\010\022\033\n\023contacted_b" +
      "y_letter\030\002 \001(\010\022\032\n\022contacted_by_email\030\003 \001" +
      "(\010\022\030\n\020contacted_by_sms\030\004 \001(\010\"7\n\034Acknowle" +
      "dgeUserPictureUpdate\022\027\n\017sequence_number\030" +
      "\001 \001(\005\"\272\001\n\021UserPictureUpdate\022\027\n\017sequence_" +
      "number\030\001 \001(\005\022\017\n\007ciam_id\030\005 \001(\t\022\026\n\016emit_ti" +
      "mestamp\030\002 \001(\003\022\034\n\024emit_timestamp_in_ms\030\006 " +
      "\001(\003\022\"\n\032eventhub_receive_timestamp\030\003 \001(\003\022" +
      "!\n\031apptwin_receive_timestamp\030\004 \001(\003\"3\n\030Ac" +
      "knowledgeUserPINUpdate\022\027\n\017sequence_numbe" +
      "r\030\001 \001(\005\"\266\001\n\rUserPINUpdate\022\027\n\017sequence_nu" +
      "mber\030\001 \001(\005\022\017\n\007ciam_id\030\005 \001(\t\022\026\n\016emit_time" +
      "stamp\030\002 \001(\003\022\034\n\024emit_timestamp_in_ms\030\006 \001(" +
      "\003\022\"\n\032eventhub_receive_timestamp\030\003 \001(\003\022!\n" +
      "\031apptwin_receive_timestamp\030\004 \001(\003\"#\n\024Upda" +
      "teUserJWTRequest\022\013\n\003jwt\030\001 \001(\t\"!\n\037Acknowl" +
      "edgeUpdateUserJWTRequestB\034\n\032com.daimler." +
      "mbcarkit.protob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_proto_AcknowledgeUserDataUpdate_descriptor =
      getDescriptor().getMessageType(0);
    internal_static_proto_AcknowledgeUserDataUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeUserDataUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", });
    internal_static_proto_UserDataUpdate_descriptor =
      getDescriptor().getMessageType(1);
    internal_static_proto_UserDataUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_UserDataUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", "CiamId", "EmitTimestamp", "EmitTimestampInMs", "OldData", "NewData", });
    internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor =
      getDescriptor().getMessageType(2);
    internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeUserVehicleAuthChangedUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", });
    internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor =
      getDescriptor().getMessageType(3);
    internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeAbilityToGetVehicleMasterDataFromRestAPI_descriptor,
        new java.lang.String[] { "SequenceNumber", });
    internal_static_proto_UserVehicleAuthChangedUpdate_descriptor =
      getDescriptor().getMessageType(4);
    internal_static_proto_UserVehicleAuthChangedUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_UserVehicleAuthChangedUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", "CiamId", "EmitTimestamp", "EmitTimestampInMs", });
    internal_static_proto_CPDUserData_descriptor =
      getDescriptor().getMessageType(5);
    internal_static_proto_CPDUserData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_CPDUserData_descriptor,
        new java.lang.String[] { "CiamId", "UserId", "FirstName", "LastName1", "LastName2", "Title", "NamePrefix", "MiddleInitial", "SalutationCode", "Email", "LandlinePhone", "MobilePhoneNumber", "CreatedAt", "CreatedBy", "UpdatedAt", "Birthday", "PreferredLanguageCode", "AccountCountryCode", "UcId", "Vip", "Address", "CommunicationPreference", });
    internal_static_proto_CPDUserAddress_descriptor =
      getDescriptor().getMessageType(6);
    internal_static_proto_CPDUserAddress_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_CPDUserAddress_descriptor,
        new java.lang.String[] { "CountryCode", "State", "Province", "Street", "HouseNo", "ZipCode", "City", "StreetType", "HouseName", "FloorNo", "DoorNo", "AddressLine1", "AddressLine2", "AddressLine3", "PostOfficeBox", });
    internal_static_proto_CPDUserCommunicationPreference_descriptor =
      getDescriptor().getMessageType(7);
    internal_static_proto_CPDUserCommunicationPreference_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_CPDUserCommunicationPreference_descriptor,
        new java.lang.String[] { "ContactedByPhone", "ContactedByLetter", "ContactedByEmail", "ContactedBySms", });
    internal_static_proto_AcknowledgeUserPictureUpdate_descriptor =
      getDescriptor().getMessageType(8);
    internal_static_proto_AcknowledgeUserPictureUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeUserPictureUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", });
    internal_static_proto_UserPictureUpdate_descriptor =
      getDescriptor().getMessageType(9);
    internal_static_proto_UserPictureUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_UserPictureUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", "CiamId", "EmitTimestamp", "EmitTimestampInMs", "EventhubReceiveTimestamp", "ApptwinReceiveTimestamp", });
    internal_static_proto_AcknowledgeUserPINUpdate_descriptor =
      getDescriptor().getMessageType(10);
    internal_static_proto_AcknowledgeUserPINUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeUserPINUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", });
    internal_static_proto_UserPINUpdate_descriptor =
      getDescriptor().getMessageType(11);
    internal_static_proto_UserPINUpdate_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_UserPINUpdate_descriptor,
        new java.lang.String[] { "SequenceNumber", "CiamId", "EmitTimestamp", "EmitTimestampInMs", "EventhubReceiveTimestamp", "ApptwinReceiveTimestamp", });
    internal_static_proto_UpdateUserJWTRequest_descriptor =
      getDescriptor().getMessageType(12);
    internal_static_proto_UpdateUserJWTRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_UpdateUserJWTRequest_descriptor,
        new java.lang.String[] { "Jwt", });
    internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor =
      getDescriptor().getMessageType(13);
    internal_static_proto_AcknowledgeUpdateUserJWTRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_proto_AcknowledgeUpdateUserJWTRequest_descriptor,
        new java.lang.String[] { });
    descriptor.resolveAllFeaturesImmutable();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
