// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Global_Uconnect_Ext_SQDF.proto

package com.fca.uconnect.global;

public final class GlobalUconnectExtSQDF {
  private GlobalUconnectExtSQDF() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
    registry.add(com.fca.uconnect.global.GlobalUconnectExtSQDF.sqdfPublish);
    registry.add(com.fca.uconnect.global.GlobalUconnectExtSQDF.sqdfResponse);
    registry.add(com.fca.uconnect.global.GlobalUconnectExtSQDF.sqdfRequest);
    registry.add(com.fca.uconnect.global.GlobalUconnectExtSQDF.sqdfAckMessage);
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface SQDFPublishOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFPublish)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    boolean hasData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.SQDFPublish}
   */
  public  static final class SQDFPublish extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFPublish)
      SQDFPublishOrBuilder {
    // Use SQDFPublish.newBuilder() to construct.
    private SQDFPublish(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SQDFPublish() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SQDFPublish(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFPublish_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFPublish_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.Builder.class);
    }

    private int bitField0_;
    public static final int DATA_FIELD_NUMBER = 1;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData data_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData() {
      return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder() {
      return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getData());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getData());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish) obj;

      boolean result = true;
      result = result && (hasData() == other.hasData());
      if (hasData()) {
        result = result && getData()
            .equals(other.getData());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFPublish}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFPublish)
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublishOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFPublish_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFPublish_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFPublish_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish build() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.getDefaultInstance()) return this;
        if (other.hasData()) {
          mergeData(other.getData());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData data_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder> dataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder setData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder setData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder mergeData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData value) {
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              data_ != null &&
              data_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance()) {
            data_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder getDataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFPublish)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFPublish)
    private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<SQDFPublish>
        PARSER = new com.google.protobuf.AbstractParser<SQDFPublish>() {
      public SQDFPublish parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new SQDFPublish(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SQDFResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    boolean hasData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
     */
    boolean hasStatus();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus getStatus();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.SQDFResponse}
   */
  public  static final class SQDFResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFResponse)
      SQDFResponseOrBuilder {
    // Use SQDFResponse.newBuilder() to construct.
    private SQDFResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SQDFResponse() {
      status_ = 1;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SQDFResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = data_.toBuilder();
              }
              data_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(data_);
                data_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus value = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                status_ = rawValue;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus}
     */
    public enum SQDFCommandStatus
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>Successful = 1;</code>
       */
      Successful(1),
      /**
       * <code>GenericError = 2;</code>
       */
      GenericError(2),
      /**
       * <code>UnknownCommands = 3;</code>
       */
      UnknownCommands(3),
      /**
       * <code>CommandNotApplicable = 4;</code>
       */
      CommandNotApplicable(4),
      ;

      /**
       * <code>Successful = 1;</code>
       */
      public static final int Successful_VALUE = 1;
      /**
       * <code>GenericError = 2;</code>
       */
      public static final int GenericError_VALUE = 2;
      /**
       * <code>UnknownCommands = 3;</code>
       */
      public static final int UnknownCommands_VALUE = 3;
      /**
       * <code>CommandNotApplicable = 4;</code>
       */
      public static final int CommandNotApplicable_VALUE = 4;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static SQDFCommandStatus valueOf(int value) {
        return forNumber(value);
      }

      public static SQDFCommandStatus forNumber(int value) {
        switch (value) {
          case 1: return Successful;
          case 2: return GenericError;
          case 3: return UnknownCommands;
          case 4: return CommandNotApplicable;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.getDescriptor().getEnumTypes().get(0);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus)
    }

    private int bitField0_;
    public static final int DATA_FIELD_NUMBER = 1;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData data_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData() {
      return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder() {
      return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
    }

    public static final int STATUS_FIELD_NUMBER = 2;
    private int status_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
     */
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus getStatus() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus.valueOf(status_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus.Successful : result;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getData());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, status_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getData());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, status_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse) obj;

      boolean result = true;
      result = result && (hasData() == other.hasData());
      if (hasData()) {
        result = result && getData()
            .equals(other.getData());
      }
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && status_ == other.status_;
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasData()) {
        hash = (37 * hash) + DATA_FIELD_NUMBER;
        hash = (53 * hash) + getData().hashCode();
      }
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + status_;
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFResponse)
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDataFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (dataBuilder_ == null) {
          data_ = null;
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        status_ = 1;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFResponse_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse build() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (dataBuilder_ == null) {
          result.data_ = data_;
        } else {
          result.data_ = dataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.status_ = status_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.getDefaultInstance()) return this;
        if (other.hasData()) {
          mergeData(other.getData());
        }
        if (other.hasStatus()) {
          setStatus(other.getStatus());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData data_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder> dataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getData() {
        if (dataBuilder_ == null) {
          return data_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
        } else {
          return dataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder setData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData value) {
        if (dataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          data_ = value;
          onChanged();
        } else {
          dataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder setData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder builderForValue) {
        if (dataBuilder_ == null) {
          data_ = builderForValue.build();
          onChanged();
        } else {
          dataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder mergeData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData value) {
        if (dataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              data_ != null &&
              data_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance()) {
            data_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.newBuilder(data_).mergeFrom(value).buildPartial();
          } else {
            data_ = value;
          }
          onChanged();
        } else {
          dataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public Builder clearData() {
        if (dataBuilder_ == null) {
          data_ = null;
          onChanged();
        } else {
          dataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder getDataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder getDataOrBuilder() {
        if (dataBuilder_ != null) {
          return dataBuilder_.getMessageOrBuilder();
        } else {
          return data_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance() : data_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData data = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder> 
          getDataFieldBuilder() {
        if (dataBuilder_ == null) {
          dataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder>(
                  getData(),
                  getParentForChildren(),
                  isClean());
          data_ = null;
        }
        return dataBuilder_;
      }

      private int status_ = 1;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
       */
      public boolean hasStatus() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus getStatus() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus.valueOf(status_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus.Successful : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
       */
      public Builder setStatus(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.SQDFCommandStatus value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        status_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFResponse.SQDFCommandStatus status = 2;</code>
       */
      public Builder clearStatus() {
        bitField0_ = (bitField0_ & ~0x00000002);
        status_ = 1;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFResponse)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFResponse)
    private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<SQDFResponse>
        PARSER = new com.google.protobuf.AbstractParser<SQDFResponse>() {
      public SQDFResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new SQDFResponse(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SQDFRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *&#47; Only this attribute should be read unless it is a ConfigUpdate
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
     */
    boolean hasCommand();
    /**
     * <pre>
     *&#47; Only this attribute should be read unless it is a ConfigUpdate
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand getCommand();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.SQDFRequest}
   */
  public  static final class SQDFRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFRequest)
      SQDFRequestOrBuilder {
    // Use SQDFRequest.newBuilder() to construct.
    private SQDFRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SQDFRequest() {
      command_ = 1;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SQDFRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand value = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                command_ = rawValue;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.SQDFRequest.SQDFCommand}
     */
    public enum SQDFCommand
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.GenericData
       * </pre>
       *
       * <code>SendData = 1;</code>
       */
      SendData(1),
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.QuickScan
       * </pre>
       *
       * <code>DoQuickScan = 2;</code>
       */
      DoQuickScan(2),
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.DTCScan
       * </pre>
       *
       * <code>DoDTCScan = 3;</code>
       */
      DoDTCScan(3),
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.Histogram
       * </pre>
       *
       * <code>DoHistogram = 4;</code>
       */
      DoHistogram(4),
      ;

      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.GenericData
       * </pre>
       *
       * <code>SendData = 1;</code>
       */
      public static final int SendData_VALUE = 1;
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.QuickScan
       * </pre>
       *
       * <code>DoQuickScan = 2;</code>
       */
      public static final int DoQuickScan_VALUE = 2;
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.DTCScan
       * </pre>
       *
       * <code>DoDTCScan = 3;</code>
       */
      public static final int DoDTCScan_VALUE = 3;
      /**
       * <pre>
       *&#47; The vehicle should reply with a SQDFResponse that contains SQDFData.Histogram
       * </pre>
       *
       * <code>DoHistogram = 4;</code>
       */
      public static final int DoHistogram_VALUE = 4;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static SQDFCommand valueOf(int value) {
        return forNumber(value);
      }

      public static SQDFCommand forNumber(int value) {
        switch (value) {
          case 1: return SendData;
          case 2: return DoQuickScan;
          case 3: return DoDTCScan;
          case 4: return DoHistogram;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.getDescriptor().getEnumTypes().get(0);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFRequest.SQDFCommand)
    }

    private int bitField0_;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * <pre>
     *&#47; Only this attribute should be read unless it is a ConfigUpdate
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     *&#47; Only this attribute should be read unless it is a ConfigUpdate
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand getCommand() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand.valueOf(command_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand.SendData : result;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, command_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, command_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest) obj;

      boolean result = true;
      result = result && (hasCommand() == other.hasCommand());
      if (hasCommand()) {
        result = result && command_ == other.command_;
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasCommand()) {
        hash = (37 * hash) + COMMAND_FIELD_NUMBER;
        hash = (53 * hash) + command_;
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFRequest)
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        command_ = 1;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFRequest_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest build() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int command_ = 1;
      /**
       * <pre>
       *&#47; Only this attribute should be read unless it is a ConfigUpdate
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47; Only this attribute should be read unless it is a ConfigUpdate
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand getCommand() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand.valueOf(command_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand.SendData : result;
      }
      /**
       * <pre>
       *&#47; Only this attribute should be read unless it is a ConfigUpdate
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
       */
      public Builder setCommand(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.SQDFCommand value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        command_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Only this attribute should be read unless it is a ConfigUpdate
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFRequest.SQDFCommand command = 1;</code>
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 1;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFRequest)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFRequest)
    private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<SQDFRequest>
        PARSER = new com.google.protobuf.AbstractParser<SQDFRequest>() {
      public SQDFRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new SQDFRequest(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface VehicleDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.VehicleData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int32 ODO = 2;</code>
     */
    boolean hasODO();
    /**
     * <code>optional int32 ODO = 2;</code>
     */
    int getODO();

    /**
     * <pre>
     *&#47; Range 0 to 131071,  km or miles
     * </pre>
     *
     * <code>optional float distanceToService = 3;</code>
     */
    boolean hasDistanceToService();
    /**
     * <pre>
     *&#47; Range 0 to 131071,  km or miles
     * </pre>
     *
     * <code>optional float distanceToService = 3;</code>
     */
    float getDistanceToService();

    /**
     * <code>optional bool isAutoOilChgReq = 4;</code>
     */
    boolean hasIsAutoOilChgReq();
    /**
     * <code>optional bool isAutoOilChgReq = 4;</code>
     */
    boolean getIsAutoOilChgReq();

    /**
     * <code>optional int32 oilLifeLeft = 5;</code>
     */
    boolean hasOilLifeLeft();
    /**
     * <code>optional int32 oilLifeLeft = 5;</code>
     */
    int getOilLifeLeft();

    /**
     * <code>optional float IBS_SOC = 6;</code>
     */
    boolean hasIBSSOC();
    /**
     * <code>optional float IBS_SOC = 6;</code>
     */
    float getIBSSOC();

    /**
     * <code>optional int32 travelingTimeAPlusHour = 7;</code>
     */
    boolean hasTravelingTimeAPlusHour();
    /**
     * <code>optional int32 travelingTimeAPlusHour = 7;</code>
     */
    int getTravelingTimeAPlusHour();

    /**
     * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
     */
    boolean hasTravelingTimeAPlusMinute();
    /**
     * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
     */
    int getTravelingTimeAPlusMinute();

    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    boolean hasTirePressure();
    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure();
    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder();

    /**
     * <code>optional bool isMILOnRq = 10;</code>
     */
    boolean hasIsMILOnRq();
    /**
     * <code>optional bool isMILOnRq = 10;</code>
     */
    boolean getIsMILOnRq();

    /**
     * <code>optional bool isGlowPlugs = 11;</code>
     */
    boolean hasIsGlowPlugs();
    /**
     * <code>optional bool isGlowPlugs = 11;</code>
     */
    boolean getIsGlowPlugs();

    /**
     * <code>optional bool isLHTurnLightFault = 12;</code>
     */
    boolean hasIsLHTurnLightFault();
    /**
     * <code>optional bool isLHTurnLightFault = 12;</code>
     */
    boolean getIsLHTurnLightFault();

    /**
     * <code>optional bool isRGTurnLightFault = 13;</code>
     */
    boolean hasIsRGTurnLightFault();
    /**
     * <code>optional bool isRGTurnLightFault = 13;</code>
     */
    boolean getIsRGTurnLightFault();

    /**
     * <code>optional bool isPlateLmpFault = 14;</code>
     */
    boolean hasIsPlateLmpFault();
    /**
     * <code>optional bool isPlateLmpFault = 14;</code>
     */
    boolean getIsPlateLmpFault();

    /**
     * <code>optional bool isDRLFault = 15;</code>
     */
    boolean hasIsDRLFault();
    /**
     * <code>optional bool isDRLFault = 15;</code>
     */
    boolean getIsDRLFault();

    /**
     * <code>optional bool isFuelLevelLow = 16;</code>
     */
    boolean hasIsFuelLevelLow();
    /**
     * <code>optional bool isFuelLevelLow = 16;</code>
     */
    boolean getIsFuelLevelLow();

    /**
     * <code>optional bool isBatteryLampStsOn = 17;</code>
     */
    boolean hasIsBatteryLampStsOn();
    /**
     * <code>optional bool isBatteryLampStsOn = 17;</code>
     */
    boolean getIsBatteryLampStsOn();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
     */
    boolean hasIsChrgSystemFail();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum getIsChrgSystemFail();

    /**
     * <code>optional bool isFuelCapOpen = 19;</code>
     */
    boolean hasIsFuelCapOpen();
    /**
     * <code>optional bool isFuelCapOpen = 19;</code>
     */
    boolean getIsFuelCapOpen();

    /**
     * <code>optional bool isParkingFailSts = 20;</code>
     */
    boolean hasIsParkingFailSts();
    /**
     * <code>optional bool isParkingFailSts = 20;</code>
     */
    boolean getIsParkingFailSts();

    /**
     * <code>optional bool isHillHolderFailSts = 21;</code>
     */
    boolean hasIsHillHolderFailSts();
    /**
     * <code>optional bool isHillHolderFailSts = 21;</code>
     */
    boolean getIsHillHolderFailSts();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
     */
    boolean hasIsEBDLAMPFailSts();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsEBDLAMPFailSts();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
     */
    boolean hasIsTPMIndLmpOnRq();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsTPMIndLmpOnRq();

    /**
     * <code>optional bool isBreakFluidLow = 24;</code>
     */
    boolean hasIsBreakFluidLow();
    /**
     * <code>optional bool isBreakFluidLow = 24;</code>
     */
    boolean getIsBreakFluidLow();

    /**
     * <code>optional bool isWashFluidLow = 25;</code>
     */
    boolean hasIsWashFluidLow();
    /**
     * <code>optional bool isWashFluidLow = 25;</code>
     */
    boolean getIsWashFluidLow();

    /**
     * <code>optional bool isBSMServiceReqOn = 26;</code>
     */
    boolean hasIsBSMServiceReqOn();
    /**
     * <code>optional bool isBSMServiceReqOn = 26;</code>
     */
    boolean getIsBSMServiceReqOn();

    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of number of stops per trip
     * </pre>
     *
     * <code>optional int32 numStops = 27;</code>
     */
    boolean hasNumStops();
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of number of stops per trip
     * </pre>
     *
     * <code>optional int32 numStops = 27;</code>
     */
    int getNumStops();

    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of total Hardbrake events
     * </pre>
     *
     * <code>optional int32 numHardBrakes = 28;</code>
     */
    boolean hasNumHardBrakes();
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of total Hardbrake events
     * </pre>
     *
     * <code>optional int32 numHardBrakes = 28;</code>
     */
    int getNumHardBrakes();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
     */
    boolean hasMaintenanceSts();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum getMaintenanceSts();

    /**
     * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
     */
    boolean hasVrcUploadDayOfMonth();
    /**
     * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
     */
    int getVrcUploadDayOfMonth();

    /**
     * <code>optional int64 vrcUploadTimeStamp = 30;</code>
     */
    boolean hasVrcUploadTimeStamp();
    /**
     * <code>optional int64 vrcUploadTimeStamp = 30;</code>
     */
    long getVrcUploadTimeStamp();

    /**
     * <pre>
     *&#47; Range 0 to 960,  minutes
     * </pre>
     *
     * <code>optional int32 engineRunTime = 31;</code>
     */
    boolean hasEngineRunTime();
    /**
     * <pre>
     *&#47; Range 0 to 960,  minutes
     * </pre>
     *
     * <code>optional int32 engineRunTime = 31;</code>
     */
    int getEngineRunTime();

    /**
     * <code>optional int32 avgFuelEconomy = 32;</code>
     */
    boolean hasAvgFuelEconomy();
    /**
     * <code>optional int32 avgFuelEconomy = 32;</code>
     */
    int getAvgFuelEconomy();

    /**
     * <code>optional float batteryVoltage = 33;</code>
     */
    boolean hasBatteryVoltage();
    /**
     * <code>optional float batteryVoltage = 33;</code>
     */
    float getBatteryVoltage();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
     */
    boolean hasDistanceUnit();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum getDistanceUnit();

    /**
     * <code>optional bool isRunFlatTireLow = 35;</code>
     */
    boolean hasIsRunFlatTireLow();
    /**
     * <code>optional bool isRunFlatTireLow = 35;</code>
     */
    boolean getIsRunFlatTireLow();

    /**
     * <code>optional int32 gasRange = 36;</code>
     */
    boolean hasGasRange();
    /**
     * <code>optional int32 gasRange = 36;</code>
     */
    int getGasRange();

    /**
     * <code>optional int32 tripAKMPL = 37;</code>
     */
    boolean hasTripAKMPL();
    /**
     * <code>optional int32 tripAKMPL = 37;</code>
     */
    int getTripAKMPL();

    /**
     * <code>optional int32 tripAMPG = 38;</code>
     */
    boolean hasTripAMPG();
    /**
     * <code>optional int32 tripAMPG = 38;</code>
     */
    int getTripAMPG();

    /**
     * <code>optional int32 tripBKMPL = 39;</code>
     */
    boolean hasTripBKMPL();
    /**
     * <code>optional int32 tripBKMPL = 39;</code>
     */
    int getTripBKMPL();

    /**
     * <code>optional int32 tripBMPG = 40;</code>
     */
    boolean hasTripBMPG();
    /**
     * <code>optional int32 tripBMPG = 40;</code>
     */
    int getTripBMPG();

    /**
     * <code>optional int32 tripATotalDistKM = 41;</code>
     */
    boolean hasTripATotalDistKM();
    /**
     * <code>optional int32 tripATotalDistKM = 41;</code>
     */
    int getTripATotalDistKM();

    /**
     * <code>optional int32 tripATotalDistMiles = 42;</code>
     */
    boolean hasTripATotalDistMiles();
    /**
     * <code>optional int32 tripATotalDistMiles = 42;</code>
     */
    int getTripATotalDistMiles();

    /**
     * <code>optional int32 tripBTotalDistKM = 43;</code>
     */
    boolean hasTripBTotalDistKM();
    /**
     * <code>optional int32 tripBTotalDistKM = 43;</code>
     */
    int getTripBTotalDistKM();

    /**
     * <code>optional int32 tripBTotalDistMiles = 44;</code>
     */
    boolean hasTripBTotalDistMiles();
    /**
     * <code>optional int32 tripBTotalDistMiles = 44;</code>
     */
    int getTripBTotalDistMiles();

    /**
     * <pre>
     * 		optional float engineRPM = 45;
     * </pre>
     *
     * <code>optional float vehicleSpeed = 46;</code>
     */
    boolean hasVehicleSpeed();
    /**
     * <pre>
     * 		optional float engineRPM = 45;
     * </pre>
     *
     * <code>optional float vehicleSpeed = 46;</code>
     */
    float getVehicleSpeed();

    /**
     * <pre>
     *		optional int32 isIgnitionOffTime = 47;
     * </pre>
     *
     * <code>optional int32 ambientAvgTemperature = 48;</code>
     */
    boolean hasAmbientAvgTemperature();
    /**
     * <pre>
     *		optional int32 isIgnitionOffTime = 47;
     * </pre>
     *
     * <code>optional int32 ambientAvgTemperature = 48;</code>
     */
    int getAmbientAvgTemperature();

    /**
     * <pre>
     * 		optional int32 engineCoolantTemparature = 49;
     * </pre>
     *
     * <code>optional int32 dpfDEFWarning = 50;</code>
     */
    boolean hasDpfDEFWarning();
    /**
     * <pre>
     * 		optional int32 engineCoolantTemparature = 49;
     * </pre>
     *
     * <code>optional int32 dpfDEFWarning = 50;</code>
     */
    int getDpfDEFWarning();

    /**
     * <pre>
     * 		optional bool isOilPressure = 51;
     * 		optional int32 rainSensorLevel = 52;
     * 		optional int32 boostPressureIndication = 53;
     * 		optional string eModeSTS = 54;
     * 		optional string driverDoorSTS = 55;
     * 		optional string cmdIgnitionSTS = 56;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
     */
    boolean hasBrakeLampIndicatorSts();
    /**
     * <pre>
     * 		optional bool isOilPressure = 51;
     * 		optional int32 rainSensorLevel = 52;
     * 		optional int32 boostPressureIndication = 53;
     * 		optional string eModeSTS = 54;
     * 		optional string driverDoorSTS = 55;
     * 		optional string cmdIgnitionSTS = 56;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getBrakeLampIndicatorSts();

    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    boolean hasTxTempExcess();
    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    java.lang.String getTxTempExcess();
    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    com.google.protobuf.ByteString
        getTxTempExcessBytes();

    /**
     * <code>optional string PFW = 59;</code>
     */
    boolean hasPFW();
    /**
     * <code>optional string PFW = 59;</code>
     */
    java.lang.String getPFW();
    /**
     * <code>optional string PFW = 59;</code>
     */
    com.google.protobuf.ByteString
        getPFWBytes();

    /**
     * <pre>
     *&#47; Range -32768 to 32766,  65535 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_I_BATT = 60;</code>
     */
    boolean hasIBSIBATT();
    /**
     * <pre>
     *&#47; Range -32768 to 32766,  65535 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_I_BATT = 60;</code>
     */
    int getIBSIBATT();

    /**
     * <pre>
     *&#47; Range -40 to 105,  255 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_T_BATT = 61;</code>
     */
    boolean hasIBSTBATT();
    /**
     * <pre>
     *&#47; Range -40 to 105,  255 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_T_BATT = 61;</code>
     */
    int getIBSTBATT();

    /**
     * <pre>
     *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
     * </pre>
     *
     * <code>optional float IBS_V_BATT = 62;</code>
     */
    boolean hasIBSVBATT();
    /**
     * <pre>
     *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
     * </pre>
     *
     * <code>optional float IBS_V_BATT = 62;</code>
     */
    float getIBSVBATT();

    /**
     * <pre>
     *		optional string GR = 63;
     *		optional int32 vehiclePerAccelX = 64;
     *		optional int32 vehiclePerAccelY = 65;
     *		optional string ftFogRQ = 66;
     *		optional string acCltchEGD = 67;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
     */
    boolean hasEtcLmpIndSts();
    /**
     * <pre>
     *		optional string GR = 63;
     *		optional int32 vehiclePerAccelX = 64;
     *		optional int32 vehiclePerAccelY = 65;
     *		optional string ftFogRQ = 66;
     *		optional string acCltchEGD = 67;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts();

    /**
     * <pre>
     *		optional string essEngineStatus = 69;///ESS_ENG_ST
     * </pre>
     *
     * <code>optional bool isEngineOilLampOn = 70;</code>
     */
    boolean hasIsEngineOilLampOn();
    /**
     * <pre>
     *		optional string essEngineStatus = 69;///ESS_ENG_ST
     * </pre>
     *
     * <code>optional bool isEngineOilLampOn = 70;</code>
     */
    boolean getIsEngineOilLampOn();

    /**
     * <pre>
     *&#47;OIL_TEMP_IND_RQ
     * </pre>
     *
     * <code>optional int32 oilTempIndicatorRq = 71;</code>
     */
    boolean hasOilTempIndicatorRq();
    /**
     * <pre>
     *&#47;OIL_TEMP_IND_RQ
     * </pre>
     *
     * <code>optional int32 oilTempIndicatorRq = 71;</code>
     */
    int getOilTempIndicatorRq();

    /**
     * <pre>
     *		optional string engineTrqRqEsc = 72;
     *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
     */
    boolean hasAbsLampSts();
    /**
     * <pre>
     *		optional string engineTrqRqEsc = 72;
     *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampSts();

    /**
     * <pre>
     *		optional string spStSwStatus = 75;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
     */
    boolean hasSrsIndLmpSts();
    /**
     * <pre>
     *		optional string spStSwStatus = 75;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts();

    /**
     * <pre>
     *		optional string mzrModeAct = 77;
     *		optional string flHSStat = 78;
     *		optional string frHSStat = 79;
     *		optional string autoDfgStatus = 80;
     *		optional string engineLoad = 81;
     *		optional string actlAccelPdlPosition = 82;
     *		optional string accelPdlPosition = 83;
     *		optional int32 fuelConsumption = 84;
     *		optional string engineTrqStatic = 85;
     * </pre>
     *
     * <code>optional int32 oilPressure = 91;</code>
     */
    boolean hasOilPressure();
    /**
     * <pre>
     *		optional string mzrModeAct = 77;
     *		optional string flHSStat = 78;
     *		optional string frHSStat = 79;
     *		optional string autoDfgStatus = 80;
     *		optional string engineLoad = 81;
     *		optional string actlAccelPdlPosition = 82;
     *		optional string accelPdlPosition = 83;
     *		optional int32 fuelConsumption = 84;
     *		optional string engineTrqStatic = 85;
     * </pre>
     *
     * <code>optional int32 oilPressure = 91;</code>
     */
    int getOilPressure();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
     */
    boolean hasSrsLmpSts();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsLmpSts();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
     */
    boolean hasWtrFuelIndLmpSts();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getWtrFuelIndLmpSts();

    /**
     * <pre>
     *&#47; Range 36 to 290,  liters
     * </pre>
     *
     * <code>optional int32 vcFuelCapacity = 94;</code>
     */
    boolean hasVcFuelCapacity();
    /**
     * <pre>
     *&#47; Range 36 to 290,  liters
     * </pre>
     *
     * <code>optional int32 vcFuelCapacity = 94;</code>
     */
    int getVcFuelCapacity();

    /**
     * <code>optional bool isBSM_OPR_STAT = 95;</code>
     */
    boolean hasIsBSMOPRSTAT();
    /**
     * <code>optional bool isBSM_OPR_STAT = 95;</code>
     */
    boolean getIsBSMOPRSTAT();

    /**
     * <pre>
     *&#47; Range 0 to 255,  liters
     * </pre>
     *
     * <code>optional int32 avgFuelLvl = 96;</code>
     */
    boolean hasAvgFuelLvl();
    /**
     * <pre>
     *&#47; Range 0 to 255,  liters
     * </pre>
     *
     * <code>optional int32 avgFuelLvl = 96;</code>
     */
    int getAvgFuelLvl();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
     */
    boolean hasEpsWarnDispRq();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum getEpsWarnDispRq();

    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
     */
    boolean hasEscCntrlLmpSts();
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEscCntrlLmpSts();

    /**
     * <code>optional bool isPTS_FT_SRV = 99;</code>
     */
    boolean hasIsPTSFTSRV();
    /**
     * <code>optional bool isPTS_FT_SRV = 99;</code>
     */
    boolean getIsPTSFTSRV();

    /**
     * <code>optional bool isPTS_RR_SRV = 100;</code>
     */
    boolean hasIsPTSRRSRV();
    /**
     * <code>optional bool isPTS_RR_SRV = 100;</code>
     */
    boolean getIsPTSRRSRV();

    /**
     * <code>optional bool isADS_SrvSys = 101;</code>
     */
    boolean hasIsADSSrvSys();
    /**
     * <code>optional bool isADS_SrvSys = 101;</code>
     */
    boolean getIsADSSrvSys();

    /**
     * <code>optional bool isACCFaulted = 102;</code>
     */
    boolean hasIsACCFaulted();
    /**
     * <code>optional bool isACCFaulted = 102;</code>
     */
    boolean getIsACCFaulted();

    /**
     * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
     */
    boolean hasIsACCOnlyNADASMSSts();
    /**
     * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
     */
    boolean getIsACCOnlyNADASMSSts();

    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    boolean hasMapRequestCd();
    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    java.lang.String getMapRequestCd();
    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    com.google.protobuf.ByteString
        getMapRequestCdBytes();

    /**
     * <code>optional bool isNavigationActivated = 105;</code>
     */
    boolean hasIsNavigationActivated();
    /**
     * <code>optional bool isNavigationActivated = 105;</code>
     */
    boolean getIsNavigationActivated();

    /**
     * <code>optional bool isSPLmpFault = 106;</code>
     */
    boolean hasIsSPLmpFault();
    /**
     * <code>optional bool isSPLmpFault = 106;</code>
     */
    boolean getIsSPLmpFault();

    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
     * </pre>
     *
     * <code>optional float A_EV_Miles = 107;</code>
     */
    boolean hasAEVMiles();
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
     * </pre>
     *
     * <code>optional float A_EV_Miles = 107;</code>
     */
    float getAEVMiles();

    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
     * </pre>
     *
     * <code>optional float A_EV_Kilometers = 108;</code>
     */
    boolean hasAEVKilometers();
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
     * </pre>
     *
     * <code>optional float A_EV_Kilometers = 108;</code>
     */
    float getAEVKilometers();

    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
     * </pre>
     *
     * <code>optional float A_Hybrid_Miles = 109;</code>
     */
    boolean hasAHybridMiles();
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
     * </pre>
     *
     * <code>optional float A_Hybrid_Miles = 109;</code>
     */
    float getAHybridMiles();

    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float A_Hybrid_Kilometers = 110;</code>
     */
    boolean hasAHybridKilometers();
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float A_Hybrid_Kilometers = 110;</code>
     */
    float getAHybridKilometers();

    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
     * </pre>
     *
     * <code>optional float B_EV_Miles = 111;</code>
     */
    boolean hasBEVMiles();
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
     * </pre>
     *
     * <code>optional float B_EV_Miles = 111;</code>
     */
    float getBEVMiles();

    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
     * </pre>
     *
     * <code>optional float B_EV_Kilometers = 112;</code>
     */
    boolean hasBEVKilometers();
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
     * </pre>
     *
     * <code>optional float B_EV_Kilometers = 112;</code>
     */
    float getBEVKilometers();

    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
     * </pre>
     *
     * <code>optional float B_Hybrid_Miles = 113;</code>
     */
    boolean hasBHybridMiles();
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
     * </pre>
     *
     * <code>optional float B_Hybrid_Miles = 113;</code>
     */
    float getBHybridMiles();

    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float B_Hybrid_Kilometers = 114;</code>
     */
    boolean hasBHybridKilometers();
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float B_Hybrid_Kilometers = 114;</code>
     */
    float getBHybridKilometers();
  }
  /**
   * <pre>
   **
   * This message is to define Key Vehicle Information which includes vehicleConfiguration parameters  and parameters that are monitored continuously
   * </pre>
   *
   * Protobuf type {@code com.fca.uconnect.global.VehicleData}
   */
  public  static final class VehicleData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.VehicleData)
      VehicleDataOrBuilder {
    // Use VehicleData.newBuilder() to construct.
    private VehicleData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VehicleData() {
      oDO_ = 0;
      distanceToService_ = 0F;
      isAutoOilChgReq_ = false;
      oilLifeLeft_ = 0;
      iBSSOC_ = 0F;
      travelingTimeAPlusHour_ = 0;
      travelingTimeAPlusMinute_ = 0;
      isMILOnRq_ = false;
      isGlowPlugs_ = false;
      isLHTurnLightFault_ = false;
      isRGTurnLightFault_ = false;
      isPlateLmpFault_ = false;
      isDRLFault_ = false;
      isFuelLevelLow_ = false;
      isBatteryLampStsOn_ = false;
      isChrgSystemFail_ = 0;
      isFuelCapOpen_ = false;
      isParkingFailSts_ = false;
      isHillHolderFailSts_ = false;
      isEBDLAMPFailSts_ = 0;
      isTPMIndLmpOnRq_ = 0;
      isBreakFluidLow_ = false;
      isWashFluidLow_ = false;
      isBSMServiceReqOn_ = false;
      numStops_ = 0;
      numHardBrakes_ = 0;
      maintenanceSts_ = 0;
      vrcUploadDayOfMonth_ = 0;
      vrcUploadTimeStamp_ = 0L;
      engineRunTime_ = 0;
      avgFuelEconomy_ = 0;
      batteryVoltage_ = 0F;
      distanceUnit_ = 0;
      isRunFlatTireLow_ = false;
      gasRange_ = 0;
      tripAKMPL_ = 0;
      tripAMPG_ = 0;
      tripBKMPL_ = 0;
      tripBMPG_ = 0;
      tripATotalDistKM_ = 0;
      tripATotalDistMiles_ = 0;
      tripBTotalDistKM_ = 0;
      tripBTotalDistMiles_ = 0;
      vehicleSpeed_ = 0F;
      ambientAvgTemperature_ = 0;
      dpfDEFWarning_ = 0;
      brakeLampIndicatorSts_ = 0;
      txTempExcess_ = "";
      pFW_ = "";
      iBSIBATT_ = 0;
      iBSTBATT_ = 0;
      iBSVBATT_ = 0F;
      etcLmpIndSts_ = 0;
      isEngineOilLampOn_ = false;
      oilTempIndicatorRq_ = 0;
      absLampSts_ = 0;
      srsIndLmpSts_ = 0;
      oilPressure_ = 0;
      srsLmpSts_ = 0;
      wtrFuelIndLmpSts_ = 0;
      vcFuelCapacity_ = 0;
      isBSMOPRSTAT_ = false;
      avgFuelLvl_ = 0;
      epsWarnDispRq_ = 0;
      escCntrlLmpSts_ = 0;
      isPTSFTSRV_ = false;
      isPTSRRSRV_ = false;
      isADSSrvSys_ = false;
      isACCFaulted_ = false;
      isACCOnlyNADASMSSts_ = false;
      mapRequestCd_ = "";
      isNavigationActivated_ = false;
      isSPLmpFault_ = false;
      aEVMiles_ = 0F;
      aEVKilometers_ = 0F;
      aHybridMiles_ = 0F;
      aHybridKilometers_ = 0F;
      bEVMiles_ = 0F;
      bEVKilometers_ = 0F;
      bHybridMiles_ = 0F;
      bHybridKilometers_ = 0F;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private VehicleData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      int mutable_bitField1_ = 0;
      int mutable_bitField2_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000001;
              oDO_ = input.readInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000002;
              distanceToService_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              isAutoOilChgReq_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              oilLifeLeft_ = input.readInt32();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000010;
              iBSSOC_ = input.readFloat();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000020;
              travelingTimeAPlusHour_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000040;
              travelingTimeAPlusMinute_ = input.readInt32();
              break;
            }
            case 74: {
              com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = tirePressure_.toBuilder();
              }
              tirePressure_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(tirePressure_);
                tirePressure_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 80: {
              bitField0_ |= 0x00000100;
              isMILOnRq_ = input.readBool();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000200;
              isGlowPlugs_ = input.readBool();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000400;
              isLHTurnLightFault_ = input.readBool();
              break;
            }
            case 104: {
              bitField0_ |= 0x00000800;
              isRGTurnLightFault_ = input.readBool();
              break;
            }
            case 112: {
              bitField0_ |= 0x00001000;
              isPlateLmpFault_ = input.readBool();
              break;
            }
            case 120: {
              bitField0_ |= 0x00002000;
              isDRLFault_ = input.readBool();
              break;
            }
            case 128: {
              bitField0_ |= 0x00004000;
              isFuelLevelLow_ = input.readBool();
              break;
            }
            case 136: {
              bitField0_ |= 0x00008000;
              isBatteryLampStsOn_ = input.readBool();
              break;
            }
            case 144: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(18, rawValue);
              } else {
                bitField0_ |= 0x00010000;
                isChrgSystemFail_ = rawValue;
              }
              break;
            }
            case 152: {
              bitField0_ |= 0x00020000;
              isFuelCapOpen_ = input.readBool();
              break;
            }
            case 160: {
              bitField0_ |= 0x00040000;
              isParkingFailSts_ = input.readBool();
              break;
            }
            case 168: {
              bitField0_ |= 0x00080000;
              isHillHolderFailSts_ = input.readBool();
              break;
            }
            case 176: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(22, rawValue);
              } else {
                bitField0_ |= 0x00100000;
                isEBDLAMPFailSts_ = rawValue;
              }
              break;
            }
            case 184: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(23, rawValue);
              } else {
                bitField0_ |= 0x00200000;
                isTPMIndLmpOnRq_ = rawValue;
              }
              break;
            }
            case 192: {
              bitField0_ |= 0x00400000;
              isBreakFluidLow_ = input.readBool();
              break;
            }
            case 200: {
              bitField0_ |= 0x00800000;
              isWashFluidLow_ = input.readBool();
              break;
            }
            case 208: {
              bitField0_ |= 0x01000000;
              isBSMServiceReqOn_ = input.readBool();
              break;
            }
            case 216: {
              bitField0_ |= 0x02000000;
              numStops_ = input.readInt32();
              break;
            }
            case 224: {
              bitField0_ |= 0x04000000;
              numHardBrakes_ = input.readInt32();
              break;
            }
            case 232: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(29, rawValue);
              } else {
                bitField0_ |= 0x08000000;
                maintenanceSts_ = rawValue;
              }
              break;
            }
            case 240: {
              bitField0_ |= 0x20000000;
              vrcUploadTimeStamp_ = input.readInt64();
              break;
            }
            case 248: {
              bitField0_ |= 0x40000000;
              engineRunTime_ = input.readInt32();
              break;
            }
            case 256: {
              bitField0_ |= 0x80000000;
              avgFuelEconomy_ = input.readInt32();
              break;
            }
            case 269: {
              bitField1_ |= 0x00000001;
              batteryVoltage_ = input.readFloat();
              break;
            }
            case 272: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(34, rawValue);
              } else {
                bitField1_ |= 0x00000002;
                distanceUnit_ = rawValue;
              }
              break;
            }
            case 280: {
              bitField1_ |= 0x00000004;
              isRunFlatTireLow_ = input.readBool();
              break;
            }
            case 288: {
              bitField1_ |= 0x00000008;
              gasRange_ = input.readInt32();
              break;
            }
            case 296: {
              bitField1_ |= 0x00000010;
              tripAKMPL_ = input.readInt32();
              break;
            }
            case 304: {
              bitField1_ |= 0x00000020;
              tripAMPG_ = input.readInt32();
              break;
            }
            case 312: {
              bitField1_ |= 0x00000040;
              tripBKMPL_ = input.readInt32();
              break;
            }
            case 320: {
              bitField1_ |= 0x00000080;
              tripBMPG_ = input.readInt32();
              break;
            }
            case 328: {
              bitField1_ |= 0x00000100;
              tripATotalDistKM_ = input.readInt32();
              break;
            }
            case 336: {
              bitField1_ |= 0x00000200;
              tripATotalDistMiles_ = input.readInt32();
              break;
            }
            case 344: {
              bitField1_ |= 0x00000400;
              tripBTotalDistKM_ = input.readInt32();
              break;
            }
            case 352: {
              bitField1_ |= 0x00000800;
              tripBTotalDistMiles_ = input.readInt32();
              break;
            }
            case 373: {
              bitField1_ |= 0x00001000;
              vehicleSpeed_ = input.readFloat();
              break;
            }
            case 384: {
              bitField1_ |= 0x00002000;
              ambientAvgTemperature_ = input.readInt32();
              break;
            }
            case 400: {
              bitField1_ |= 0x00004000;
              dpfDEFWarning_ = input.readInt32();
              break;
            }
            case 456: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(57, rawValue);
              } else {
                bitField1_ |= 0x00008000;
                brakeLampIndicatorSts_ = rawValue;
              }
              break;
            }
            case 466: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField1_ |= 0x00010000;
              txTempExcess_ = bs;
              break;
            }
            case 474: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField1_ |= 0x00020000;
              pFW_ = bs;
              break;
            }
            case 480: {
              bitField1_ |= 0x00040000;
              iBSIBATT_ = input.readSInt32();
              break;
            }
            case 488: {
              bitField1_ |= 0x00080000;
              iBSTBATT_ = input.readSInt32();
              break;
            }
            case 501: {
              bitField1_ |= 0x00100000;
              iBSVBATT_ = input.readFloat();
              break;
            }
            case 544: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(68, rawValue);
              } else {
                bitField1_ |= 0x00200000;
                etcLmpIndSts_ = rawValue;
              }
              break;
            }
            case 560: {
              bitField1_ |= 0x00400000;
              isEngineOilLampOn_ = input.readBool();
              break;
            }
            case 568: {
              bitField1_ |= 0x00800000;
              oilTempIndicatorRq_ = input.readInt32();
              break;
            }
            case 592: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(74, rawValue);
              } else {
                bitField1_ |= 0x01000000;
                absLampSts_ = rawValue;
              }
              break;
            }
            case 608: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(76, rawValue);
              } else {
                bitField1_ |= 0x02000000;
                srsIndLmpSts_ = rawValue;
              }
              break;
            }
            case 720: {
              bitField0_ |= 0x10000000;
              vrcUploadDayOfMonth_ = input.readInt32();
              break;
            }
            case 728: {
              bitField1_ |= 0x04000000;
              oilPressure_ = input.readInt32();
              break;
            }
            case 736: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(92, rawValue);
              } else {
                bitField1_ |= 0x08000000;
                srsLmpSts_ = rawValue;
              }
              break;
            }
            case 744: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(93, rawValue);
              } else {
                bitField1_ |= 0x10000000;
                wtrFuelIndLmpSts_ = rawValue;
              }
              break;
            }
            case 752: {
              bitField1_ |= 0x20000000;
              vcFuelCapacity_ = input.readInt32();
              break;
            }
            case 760: {
              bitField1_ |= 0x40000000;
              isBSMOPRSTAT_ = input.readBool();
              break;
            }
            case 768: {
              bitField1_ |= 0x80000000;
              avgFuelLvl_ = input.readInt32();
              break;
            }
            case 776: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(97, rawValue);
              } else {
                bitField2_ |= 0x00000001;
                epsWarnDispRq_ = rawValue;
              }
              break;
            }
            case 784: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(98, rawValue);
              } else {
                bitField2_ |= 0x00000002;
                escCntrlLmpSts_ = rawValue;
              }
              break;
            }
            case 792: {
              bitField2_ |= 0x00000004;
              isPTSFTSRV_ = input.readBool();
              break;
            }
            case 800: {
              bitField2_ |= 0x00000008;
              isPTSRRSRV_ = input.readBool();
              break;
            }
            case 808: {
              bitField2_ |= 0x00000010;
              isADSSrvSys_ = input.readBool();
              break;
            }
            case 816: {
              bitField2_ |= 0x00000020;
              isACCFaulted_ = input.readBool();
              break;
            }
            case 824: {
              bitField2_ |= 0x00000040;
              isACCOnlyNADASMSSts_ = input.readBool();
              break;
            }
            case 834: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField2_ |= 0x00000080;
              mapRequestCd_ = bs;
              break;
            }
            case 840: {
              bitField2_ |= 0x00000100;
              isNavigationActivated_ = input.readBool();
              break;
            }
            case 848: {
              bitField2_ |= 0x00000200;
              isSPLmpFault_ = input.readBool();
              break;
            }
            case 861: {
              bitField2_ |= 0x00000400;
              aEVMiles_ = input.readFloat();
              break;
            }
            case 869: {
              bitField2_ |= 0x00000800;
              aEVKilometers_ = input.readFloat();
              break;
            }
            case 877: {
              bitField2_ |= 0x00001000;
              aHybridMiles_ = input.readFloat();
              break;
            }
            case 885: {
              bitField2_ |= 0x00002000;
              aHybridKilometers_ = input.readFloat();
              break;
            }
            case 893: {
              bitField2_ |= 0x00004000;
              bEVMiles_ = input.readFloat();
              break;
            }
            case 901: {
              bitField2_ |= 0x00008000;
              bEVKilometers_ = input.readFloat();
              break;
            }
            case 909: {
              bitField2_ |= 0x00010000;
              bHybridMiles_ = input.readFloat();
              break;
            }
            case 917: {
              bitField2_ |= 0x00020000;
              bHybridKilometers_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_VehicleData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_VehicleData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum}
     */
    public enum ChargeSystemFailEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>FALSE = 0;</code>
       */
      FALSE(0),
      /**
       * <code>TRUE = 1;</code>
       */
      TRUE(1),
      /**
       * <code>SNA = 2;</code>
       */
      SNA(2),
      ;

      /**
       * <code>FALSE = 0;</code>
       */
      public static final int FALSE_VALUE = 0;
      /**
       * <code>TRUE = 1;</code>
       */
      public static final int TRUE_VALUE = 1;
      /**
       * <code>SNA = 2;</code>
       */
      public static final int SNA_VALUE = 2;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ChargeSystemFailEnum valueOf(int value) {
        return forNumber(value);
      }

      public static ChargeSystemFailEnum forNumber(int value) {
        switch (value) {
          case 0: return FALSE;
          case 1: return TRUE;
          case 2: return SNA;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDescriptor().getEnumTypes().get(0);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum)
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleData.StateEnum}
     */
    public enum StateEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>STATE_ZERO = 0;</code>
       */
      STATE_ZERO(0),
      /**
       * <code>STATE_ONE = 1;</code>
       */
      STATE_ONE(1),
      /**
       * <code>STATE_TWO = 2;</code>
       */
      STATE_TWO(2),
      /**
       * <code>STATE_THREE = 3;</code>
       */
      STATE_THREE(3),
      /**
       * <code>STATE_SEVEN = 7;</code>
       */
      STATE_SEVEN(7),
      ;

      /**
       * <code>STATE_ZERO = 0;</code>
       */
      public static final int STATE_ZERO_VALUE = 0;
      /**
       * <code>STATE_ONE = 1;</code>
       */
      public static final int STATE_ONE_VALUE = 1;
      /**
       * <code>STATE_TWO = 2;</code>
       */
      public static final int STATE_TWO_VALUE = 2;
      /**
       * <code>STATE_THREE = 3;</code>
       */
      public static final int STATE_THREE_VALUE = 3;
      /**
       * <code>STATE_SEVEN = 7;</code>
       */
      public static final int STATE_SEVEN_VALUE = 7;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static StateEnum valueOf(int value) {
        return forNumber(value);
      }

      public static StateEnum forNumber(int value) {
        switch (value) {
          case 0: return STATE_ZERO;
          case 1: return STATE_ONE;
          case 2: return STATE_TWO;
          case 3: return STATE_THREE;
          case 7: return STATE_SEVEN;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDescriptor().getEnumTypes().get(1);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleData.StateEnum)
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleData.MaintenanceStateEnum}
     */
    public enum MaintenanceStateEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>NONE = 0;</code>
       */
      NONE(0),
      /**
       * <code>SOON = 1;</code>
       */
      SOON(1),
      /**
       * <code>NOW = 2;</code>
       */
      NOW(2),
      /**
       * <code>SNA_STATE = 3;</code>
       */
      SNA_STATE(3),
      ;

      /**
       * <code>NONE = 0;</code>
       */
      public static final int NONE_VALUE = 0;
      /**
       * <code>SOON = 1;</code>
       */
      public static final int SOON_VALUE = 1;
      /**
       * <code>NOW = 2;</code>
       */
      public static final int NOW_VALUE = 2;
      /**
       * <code>SNA_STATE = 3;</code>
       */
      public static final int SNA_STATE_VALUE = 3;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static MaintenanceStateEnum valueOf(int value) {
        return forNumber(value);
      }

      public static MaintenanceStateEnum forNumber(int value) {
        switch (value) {
          case 0: return NONE;
          case 1: return SOON;
          case 2: return NOW;
          case 3: return SNA_STATE;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDescriptor().getEnumTypes().get(2);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleData.MaintenanceStateEnum)
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleData.DistanceUnitsEnum}
     */
    public enum DistanceUnitsEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>MILES = 0;</code>
       */
      MILES(0),
      /**
       * <code>KILOMETERS = 1;</code>
       */
      KILOMETERS(1),
      ;

      /**
       * <code>MILES = 0;</code>
       */
      public static final int MILES_VALUE = 0;
      /**
       * <code>KILOMETERS = 1;</code>
       */
      public static final int KILOMETERS_VALUE = 1;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static DistanceUnitsEnum valueOf(int value) {
        return forNumber(value);
      }

      public static DistanceUnitsEnum forNumber(int value) {
        switch (value) {
          case 0: return MILES;
          case 1: return KILOMETERS;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDescriptor().getEnumTypes().get(3);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleData.DistanceUnitsEnum)
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.VehicleData.LampStateEnum}
     */
    public enum LampStateEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>ZERO = 0;</code>
       */
      ZERO(0),
      /**
       * <code>ONE = 1;</code>
       */
      ONE(1),
      /**
       * <code>TWO = 2;</code>
       */
      TWO(2),
      /**
       * <code>THREE = 3;</code>
       */
      THREE(3),
      ;

      /**
       * <code>ZERO = 0;</code>
       */
      public static final int ZERO_VALUE = 0;
      /**
       * <code>ONE = 1;</code>
       */
      public static final int ONE_VALUE = 1;
      /**
       * <code>TWO = 2;</code>
       */
      public static final int TWO_VALUE = 2;
      /**
       * <code>THREE = 3;</code>
       */
      public static final int THREE_VALUE = 3;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static LampStateEnum valueOf(int value) {
        return forNumber(value);
      }

      public static LampStateEnum forNumber(int value) {
        switch (value) {
          case 0: return ZERO;
          case 1: return ONE;
          case 2: return TWO;
          case 3: return THREE;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDescriptor().getEnumTypes().get(4);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.VehicleData.LampStateEnum)
    }

    private int bitField0_;
    private int bitField1_;
    private int bitField2_;
    public static final int ODO_FIELD_NUMBER = 2;
    private int oDO_;
    /**
     * <code>optional int32 ODO = 2;</code>
     */
    public boolean hasODO() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 ODO = 2;</code>
     */
    public int getODO() {
      return oDO_;
    }

    public static final int DISTANCETOSERVICE_FIELD_NUMBER = 3;
    private float distanceToService_;
    /**
     * <pre>
     *&#47; Range 0 to 131071,  km or miles
     * </pre>
     *
     * <code>optional float distanceToService = 3;</code>
     */
    public boolean hasDistanceToService() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     *&#47; Range 0 to 131071,  km or miles
     * </pre>
     *
     * <code>optional float distanceToService = 3;</code>
     */
    public float getDistanceToService() {
      return distanceToService_;
    }

    public static final int ISAUTOOILCHGREQ_FIELD_NUMBER = 4;
    private boolean isAutoOilChgReq_;
    /**
     * <code>optional bool isAutoOilChgReq = 4;</code>
     */
    public boolean hasIsAutoOilChgReq() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bool isAutoOilChgReq = 4;</code>
     */
    public boolean getIsAutoOilChgReq() {
      return isAutoOilChgReq_;
    }

    public static final int OILLIFELEFT_FIELD_NUMBER = 5;
    private int oilLifeLeft_;
    /**
     * <code>optional int32 oilLifeLeft = 5;</code>
     */
    public boolean hasOilLifeLeft() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional int32 oilLifeLeft = 5;</code>
     */
    public int getOilLifeLeft() {
      return oilLifeLeft_;
    }

    public static final int IBS_SOC_FIELD_NUMBER = 6;
    private float iBSSOC_;
    /**
     * <code>optional float IBS_SOC = 6;</code>
     */
    public boolean hasIBSSOC() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional float IBS_SOC = 6;</code>
     */
    public float getIBSSOC() {
      return iBSSOC_;
    }

    public static final int TRAVELINGTIMEAPLUSHOUR_FIELD_NUMBER = 7;
    private int travelingTimeAPlusHour_;
    /**
     * <code>optional int32 travelingTimeAPlusHour = 7;</code>
     */
    public boolean hasTravelingTimeAPlusHour() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional int32 travelingTimeAPlusHour = 7;</code>
     */
    public int getTravelingTimeAPlusHour() {
      return travelingTimeAPlusHour_;
    }

    public static final int TRAVELINGTIMEAPLUSMINUTE_FIELD_NUMBER = 8;
    private int travelingTimeAPlusMinute_;
    /**
     * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
     */
    public boolean hasTravelingTimeAPlusMinute() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
     */
    public int getTravelingTimeAPlusMinute() {
      return travelingTimeAPlusMinute_;
    }

    public static final int TIREPRESSURE_FIELD_NUMBER = 9;
    private com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure tirePressure_;
    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    public boolean hasTirePressure() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure() {
      return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder() {
      return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
    }

    public static final int ISMILONRQ_FIELD_NUMBER = 10;
    private boolean isMILOnRq_;
    /**
     * <code>optional bool isMILOnRq = 10;</code>
     */
    public boolean hasIsMILOnRq() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional bool isMILOnRq = 10;</code>
     */
    public boolean getIsMILOnRq() {
      return isMILOnRq_;
    }

    public static final int ISGLOWPLUGS_FIELD_NUMBER = 11;
    private boolean isGlowPlugs_;
    /**
     * <code>optional bool isGlowPlugs = 11;</code>
     */
    public boolean hasIsGlowPlugs() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional bool isGlowPlugs = 11;</code>
     */
    public boolean getIsGlowPlugs() {
      return isGlowPlugs_;
    }

    public static final int ISLHTURNLIGHTFAULT_FIELD_NUMBER = 12;
    private boolean isLHTurnLightFault_;
    /**
     * <code>optional bool isLHTurnLightFault = 12;</code>
     */
    public boolean hasIsLHTurnLightFault() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional bool isLHTurnLightFault = 12;</code>
     */
    public boolean getIsLHTurnLightFault() {
      return isLHTurnLightFault_;
    }

    public static final int ISRGTURNLIGHTFAULT_FIELD_NUMBER = 13;
    private boolean isRGTurnLightFault_;
    /**
     * <code>optional bool isRGTurnLightFault = 13;</code>
     */
    public boolean hasIsRGTurnLightFault() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional bool isRGTurnLightFault = 13;</code>
     */
    public boolean getIsRGTurnLightFault() {
      return isRGTurnLightFault_;
    }

    public static final int ISPLATELMPFAULT_FIELD_NUMBER = 14;
    private boolean isPlateLmpFault_;
    /**
     * <code>optional bool isPlateLmpFault = 14;</code>
     */
    public boolean hasIsPlateLmpFault() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <code>optional bool isPlateLmpFault = 14;</code>
     */
    public boolean getIsPlateLmpFault() {
      return isPlateLmpFault_;
    }

    public static final int ISDRLFAULT_FIELD_NUMBER = 15;
    private boolean isDRLFault_;
    /**
     * <code>optional bool isDRLFault = 15;</code>
     */
    public boolean hasIsDRLFault() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * <code>optional bool isDRLFault = 15;</code>
     */
    public boolean getIsDRLFault() {
      return isDRLFault_;
    }

    public static final int ISFUELLEVELLOW_FIELD_NUMBER = 16;
    private boolean isFuelLevelLow_;
    /**
     * <code>optional bool isFuelLevelLow = 16;</code>
     */
    public boolean hasIsFuelLevelLow() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * <code>optional bool isFuelLevelLow = 16;</code>
     */
    public boolean getIsFuelLevelLow() {
      return isFuelLevelLow_;
    }

    public static final int ISBATTERYLAMPSTSON_FIELD_NUMBER = 17;
    private boolean isBatteryLampStsOn_;
    /**
     * <code>optional bool isBatteryLampStsOn = 17;</code>
     */
    public boolean hasIsBatteryLampStsOn() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * <code>optional bool isBatteryLampStsOn = 17;</code>
     */
    public boolean getIsBatteryLampStsOn() {
      return isBatteryLampStsOn_;
    }

    public static final int ISCHRGSYSTEMFAIL_FIELD_NUMBER = 18;
    private int isChrgSystemFail_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
     */
    public boolean hasIsChrgSystemFail() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum getIsChrgSystemFail() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum.valueOf(isChrgSystemFail_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum.FALSE : result;
    }

    public static final int ISFUELCAPOPEN_FIELD_NUMBER = 19;
    private boolean isFuelCapOpen_;
    /**
     * <code>optional bool isFuelCapOpen = 19;</code>
     */
    public boolean hasIsFuelCapOpen() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * <code>optional bool isFuelCapOpen = 19;</code>
     */
    public boolean getIsFuelCapOpen() {
      return isFuelCapOpen_;
    }

    public static final int ISPARKINGFAILSTS_FIELD_NUMBER = 20;
    private boolean isParkingFailSts_;
    /**
     * <code>optional bool isParkingFailSts = 20;</code>
     */
    public boolean hasIsParkingFailSts() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * <code>optional bool isParkingFailSts = 20;</code>
     */
    public boolean getIsParkingFailSts() {
      return isParkingFailSts_;
    }

    public static final int ISHILLHOLDERFAILSTS_FIELD_NUMBER = 21;
    private boolean isHillHolderFailSts_;
    /**
     * <code>optional bool isHillHolderFailSts = 21;</code>
     */
    public boolean hasIsHillHolderFailSts() {
      return ((bitField0_ & 0x00080000) == 0x00080000);
    }
    /**
     * <code>optional bool isHillHolderFailSts = 21;</code>
     */
    public boolean getIsHillHolderFailSts() {
      return isHillHolderFailSts_;
    }

    public static final int ISEBDLAMPFAILSTS_FIELD_NUMBER = 22;
    private int isEBDLAMPFailSts_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
     */
    public boolean hasIsEBDLAMPFailSts() {
      return ((bitField0_ & 0x00100000) == 0x00100000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsEBDLAMPFailSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(isEBDLAMPFailSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int ISTPMINDLMPONRQ_FIELD_NUMBER = 23;
    private int isTPMIndLmpOnRq_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
     */
    public boolean hasIsTPMIndLmpOnRq() {
      return ((bitField0_ & 0x00200000) == 0x00200000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsTPMIndLmpOnRq() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(isTPMIndLmpOnRq_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int ISBREAKFLUIDLOW_FIELD_NUMBER = 24;
    private boolean isBreakFluidLow_;
    /**
     * <code>optional bool isBreakFluidLow = 24;</code>
     */
    public boolean hasIsBreakFluidLow() {
      return ((bitField0_ & 0x00400000) == 0x00400000);
    }
    /**
     * <code>optional bool isBreakFluidLow = 24;</code>
     */
    public boolean getIsBreakFluidLow() {
      return isBreakFluidLow_;
    }

    public static final int ISWASHFLUIDLOW_FIELD_NUMBER = 25;
    private boolean isWashFluidLow_;
    /**
     * <code>optional bool isWashFluidLow = 25;</code>
     */
    public boolean hasIsWashFluidLow() {
      return ((bitField0_ & 0x00800000) == 0x00800000);
    }
    /**
     * <code>optional bool isWashFluidLow = 25;</code>
     */
    public boolean getIsWashFluidLow() {
      return isWashFluidLow_;
    }

    public static final int ISBSMSERVICEREQON_FIELD_NUMBER = 26;
    private boolean isBSMServiceReqOn_;
    /**
     * <code>optional bool isBSMServiceReqOn = 26;</code>
     */
    public boolean hasIsBSMServiceReqOn() {
      return ((bitField0_ & 0x01000000) == 0x01000000);
    }
    /**
     * <code>optional bool isBSMServiceReqOn = 26;</code>
     */
    public boolean getIsBSMServiceReqOn() {
      return isBSMServiceReqOn_;
    }

    public static final int NUMSTOPS_FIELD_NUMBER = 27;
    private int numStops_;
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of number of stops per trip
     * </pre>
     *
     * <code>optional int32 numStops = 27;</code>
     */
    public boolean hasNumStops() {
      return ((bitField0_ & 0x02000000) == 0x02000000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of number of stops per trip
     * </pre>
     *
     * <code>optional int32 numStops = 27;</code>
     */
    public int getNumStops() {
      return numStops_;
    }

    public static final int NUMHARDBRAKES_FIELD_NUMBER = 28;
    private int numHardBrakes_;
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of total Hardbrake events
     * </pre>
     *
     * <code>optional int32 numHardBrakes = 28;</code>
     */
    public boolean hasNumHardBrakes() {
      return ((bitField0_ & 0x04000000) == 0x04000000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 255, Counts of total Hardbrake events
     * </pre>
     *
     * <code>optional int32 numHardBrakes = 28;</code>
     */
    public int getNumHardBrakes() {
      return numHardBrakes_;
    }

    public static final int MAINTENANCESTS_FIELD_NUMBER = 29;
    private int maintenanceSts_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
     */
    public boolean hasMaintenanceSts() {
      return ((bitField0_ & 0x08000000) == 0x08000000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum getMaintenanceSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum.valueOf(maintenanceSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum.NONE : result;
    }

    public static final int VRCUPLOADDAYOFMONTH_FIELD_NUMBER = 90;
    private int vrcUploadDayOfMonth_;
    /**
     * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
     */
    public boolean hasVrcUploadDayOfMonth() {
      return ((bitField0_ & 0x10000000) == 0x10000000);
    }
    /**
     * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
     */
    public int getVrcUploadDayOfMonth() {
      return vrcUploadDayOfMonth_;
    }

    public static final int VRCUPLOADTIMESTAMP_FIELD_NUMBER = 30;
    private long vrcUploadTimeStamp_;
    /**
     * <code>optional int64 vrcUploadTimeStamp = 30;</code>
     */
    public boolean hasVrcUploadTimeStamp() {
      return ((bitField0_ & 0x20000000) == 0x20000000);
    }
    /**
     * <code>optional int64 vrcUploadTimeStamp = 30;</code>
     */
    public long getVrcUploadTimeStamp() {
      return vrcUploadTimeStamp_;
    }

    public static final int ENGINERUNTIME_FIELD_NUMBER = 31;
    private int engineRunTime_;
    /**
     * <pre>
     *&#47; Range 0 to 960,  minutes
     * </pre>
     *
     * <code>optional int32 engineRunTime = 31;</code>
     */
    public boolean hasEngineRunTime() {
      return ((bitField0_ & 0x40000000) == 0x40000000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 960,  minutes
     * </pre>
     *
     * <code>optional int32 engineRunTime = 31;</code>
     */
    public int getEngineRunTime() {
      return engineRunTime_;
    }

    public static final int AVGFUELECONOMY_FIELD_NUMBER = 32;
    private int avgFuelEconomy_;
    /**
     * <code>optional int32 avgFuelEconomy = 32;</code>
     */
    public boolean hasAvgFuelEconomy() {
      return ((bitField0_ & 0x80000000) == 0x80000000);
    }
    /**
     * <code>optional int32 avgFuelEconomy = 32;</code>
     */
    public int getAvgFuelEconomy() {
      return avgFuelEconomy_;
    }

    public static final int BATTERYVOLTAGE_FIELD_NUMBER = 33;
    private float batteryVoltage_;
    /**
     * <code>optional float batteryVoltage = 33;</code>
     */
    public boolean hasBatteryVoltage() {
      return ((bitField1_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional float batteryVoltage = 33;</code>
     */
    public float getBatteryVoltage() {
      return batteryVoltage_;
    }

    public static final int DISTANCEUNIT_FIELD_NUMBER = 34;
    private int distanceUnit_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
     */
    public boolean hasDistanceUnit() {
      return ((bitField1_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum getDistanceUnit() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum.valueOf(distanceUnit_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum.MILES : result;
    }

    public static final int ISRUNFLATTIRELOW_FIELD_NUMBER = 35;
    private boolean isRunFlatTireLow_;
    /**
     * <code>optional bool isRunFlatTireLow = 35;</code>
     */
    public boolean hasIsRunFlatTireLow() {
      return ((bitField1_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bool isRunFlatTireLow = 35;</code>
     */
    public boolean getIsRunFlatTireLow() {
      return isRunFlatTireLow_;
    }

    public static final int GASRANGE_FIELD_NUMBER = 36;
    private int gasRange_;
    /**
     * <code>optional int32 gasRange = 36;</code>
     */
    public boolean hasGasRange() {
      return ((bitField1_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional int32 gasRange = 36;</code>
     */
    public int getGasRange() {
      return gasRange_;
    }

    public static final int TRIPAKMPL_FIELD_NUMBER = 37;
    private int tripAKMPL_;
    /**
     * <code>optional int32 tripAKMPL = 37;</code>
     */
    public boolean hasTripAKMPL() {
      return ((bitField1_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional int32 tripAKMPL = 37;</code>
     */
    public int getTripAKMPL() {
      return tripAKMPL_;
    }

    public static final int TRIPAMPG_FIELD_NUMBER = 38;
    private int tripAMPG_;
    /**
     * <code>optional int32 tripAMPG = 38;</code>
     */
    public boolean hasTripAMPG() {
      return ((bitField1_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional int32 tripAMPG = 38;</code>
     */
    public int getTripAMPG() {
      return tripAMPG_;
    }

    public static final int TRIPBKMPL_FIELD_NUMBER = 39;
    private int tripBKMPL_;
    /**
     * <code>optional int32 tripBKMPL = 39;</code>
     */
    public boolean hasTripBKMPL() {
      return ((bitField1_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional int32 tripBKMPL = 39;</code>
     */
    public int getTripBKMPL() {
      return tripBKMPL_;
    }

    public static final int TRIPBMPG_FIELD_NUMBER = 40;
    private int tripBMPG_;
    /**
     * <code>optional int32 tripBMPG = 40;</code>
     */
    public boolean hasTripBMPG() {
      return ((bitField1_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional int32 tripBMPG = 40;</code>
     */
    public int getTripBMPG() {
      return tripBMPG_;
    }

    public static final int TRIPATOTALDISTKM_FIELD_NUMBER = 41;
    private int tripATotalDistKM_;
    /**
     * <code>optional int32 tripATotalDistKM = 41;</code>
     */
    public boolean hasTripATotalDistKM() {
      return ((bitField1_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional int32 tripATotalDistKM = 41;</code>
     */
    public int getTripATotalDistKM() {
      return tripATotalDistKM_;
    }

    public static final int TRIPATOTALDISTMILES_FIELD_NUMBER = 42;
    private int tripATotalDistMiles_;
    /**
     * <code>optional int32 tripATotalDistMiles = 42;</code>
     */
    public boolean hasTripATotalDistMiles() {
      return ((bitField1_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional int32 tripATotalDistMiles = 42;</code>
     */
    public int getTripATotalDistMiles() {
      return tripATotalDistMiles_;
    }

    public static final int TRIPBTOTALDISTKM_FIELD_NUMBER = 43;
    private int tripBTotalDistKM_;
    /**
     * <code>optional int32 tripBTotalDistKM = 43;</code>
     */
    public boolean hasTripBTotalDistKM() {
      return ((bitField1_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional int32 tripBTotalDistKM = 43;</code>
     */
    public int getTripBTotalDistKM() {
      return tripBTotalDistKM_;
    }

    public static final int TRIPBTOTALDISTMILES_FIELD_NUMBER = 44;
    private int tripBTotalDistMiles_;
    /**
     * <code>optional int32 tripBTotalDistMiles = 44;</code>
     */
    public boolean hasTripBTotalDistMiles() {
      return ((bitField1_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional int32 tripBTotalDistMiles = 44;</code>
     */
    public int getTripBTotalDistMiles() {
      return tripBTotalDistMiles_;
    }

    public static final int VEHICLESPEED_FIELD_NUMBER = 46;
    private float vehicleSpeed_;
    /**
     * <pre>
     * 		optional float engineRPM = 45;
     * </pre>
     *
     * <code>optional float vehicleSpeed = 46;</code>
     */
    public boolean hasVehicleSpeed() {
      return ((bitField1_ & 0x00001000) == 0x00001000);
    }
    /**
     * <pre>
     * 		optional float engineRPM = 45;
     * </pre>
     *
     * <code>optional float vehicleSpeed = 46;</code>
     */
    public float getVehicleSpeed() {
      return vehicleSpeed_;
    }

    public static final int AMBIENTAVGTEMPERATURE_FIELD_NUMBER = 48;
    private int ambientAvgTemperature_;
    /**
     * <pre>
     *		optional int32 isIgnitionOffTime = 47;
     * </pre>
     *
     * <code>optional int32 ambientAvgTemperature = 48;</code>
     */
    public boolean hasAmbientAvgTemperature() {
      return ((bitField1_ & 0x00002000) == 0x00002000);
    }
    /**
     * <pre>
     *		optional int32 isIgnitionOffTime = 47;
     * </pre>
     *
     * <code>optional int32 ambientAvgTemperature = 48;</code>
     */
    public int getAmbientAvgTemperature() {
      return ambientAvgTemperature_;
    }

    public static final int DPFDEFWARNING_FIELD_NUMBER = 50;
    private int dpfDEFWarning_;
    /**
     * <pre>
     * 		optional int32 engineCoolantTemparature = 49;
     * </pre>
     *
     * <code>optional int32 dpfDEFWarning = 50;</code>
     */
    public boolean hasDpfDEFWarning() {
      return ((bitField1_ & 0x00004000) == 0x00004000);
    }
    /**
     * <pre>
     * 		optional int32 engineCoolantTemparature = 49;
     * </pre>
     *
     * <code>optional int32 dpfDEFWarning = 50;</code>
     */
    public int getDpfDEFWarning() {
      return dpfDEFWarning_;
    }

    public static final int BRAKELAMPINDICATORSTS_FIELD_NUMBER = 57;
    private int brakeLampIndicatorSts_;
    /**
     * <pre>
     * 		optional bool isOilPressure = 51;
     * 		optional int32 rainSensorLevel = 52;
     * 		optional int32 boostPressureIndication = 53;
     * 		optional string eModeSTS = 54;
     * 		optional string driverDoorSTS = 55;
     * 		optional string cmdIgnitionSTS = 56;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
     */
    public boolean hasBrakeLampIndicatorSts() {
      return ((bitField1_ & 0x00008000) == 0x00008000);
    }
    /**
     * <pre>
     * 		optional bool isOilPressure = 51;
     * 		optional int32 rainSensorLevel = 52;
     * 		optional int32 boostPressureIndication = 53;
     * 		optional string eModeSTS = 54;
     * 		optional string driverDoorSTS = 55;
     * 		optional string cmdIgnitionSTS = 56;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getBrakeLampIndicatorSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(brakeLampIndicatorSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int TXTEMP_EXCESS_FIELD_NUMBER = 58;
    private volatile java.lang.Object txTempExcess_;
    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    public boolean hasTxTempExcess() {
      return ((bitField1_ & 0x00010000) == 0x00010000);
    }
    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    public java.lang.String getTxTempExcess() {
      java.lang.Object ref = txTempExcess_;
      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();
        if (bs.isValidUtf8()) {
          txTempExcess_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string TxTemp_Excess = 58;</code>
     */
    public com.google.protobuf.ByteString
        getTxTempExcessBytes() {
      java.lang.Object ref = txTempExcess_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        txTempExcess_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PFW_FIELD_NUMBER = 59;
    private volatile java.lang.Object pFW_;
    /**
     * <code>optional string PFW = 59;</code>
     */
    public boolean hasPFW() {
      return ((bitField1_ & 0x00020000) == 0x00020000);
    }
    /**
     * <code>optional string PFW = 59;</code>
     */
    public java.lang.String getPFW() {
      java.lang.Object ref = pFW_;
      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();
        if (bs.isValidUtf8()) {
          pFW_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string PFW = 59;</code>
     */
    public com.google.protobuf.ByteString
        getPFWBytes() {
      java.lang.Object ref = pFW_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pFW_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IBS_I_BATT_FIELD_NUMBER = 60;
    private int iBSIBATT_;
    /**
     * <pre>
     *&#47; Range -32768 to 32766,  65535 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_I_BATT = 60;</code>
     */
    public boolean hasIBSIBATT() {
      return ((bitField1_ & 0x00040000) == 0x00040000);
    }
    /**
     * <pre>
     *&#47; Range -32768 to 32766,  65535 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_I_BATT = 60;</code>
     */
    public int getIBSIBATT() {
      return iBSIBATT_;
    }

    public static final int IBS_T_BATT_FIELD_NUMBER = 61;
    private int iBSTBATT_;
    /**
     * <pre>
     *&#47; Range -40 to 105,  255 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_T_BATT = 61;</code>
     */
    public boolean hasIBSTBATT() {
      return ((bitField1_ & 0x00080000) == 0x00080000);
    }
    /**
     * <pre>
     *&#47; Range -40 to 105,  255 = SNA
     * </pre>
     *
     * <code>optional sint32 IBS_T_BATT = 61;</code>
     */
    public int getIBSTBATT() {
      return iBSTBATT_;
    }

    public static final int IBS_V_BATT_FIELD_NUMBER = 62;
    private float iBSVBATT_;
    /**
     * <pre>
     *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
     * </pre>
     *
     * <code>optional float IBS_V_BATT = 62;</code>
     */
    public boolean hasIBSVBATT() {
      return ((bitField1_ & 0x00100000) == 0x00100000);
    }
    /**
     * <pre>
     *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
     * </pre>
     *
     * <code>optional float IBS_V_BATT = 62;</code>
     */
    public float getIBSVBATT() {
      return iBSVBATT_;
    }

    public static final int ETCLMPINDSTS_FIELD_NUMBER = 68;
    private int etcLmpIndSts_;
    /**
     * <pre>
     *		optional string GR = 63;
     *		optional int32 vehiclePerAccelX = 64;
     *		optional int32 vehiclePerAccelY = 65;
     *		optional string ftFogRQ = 66;
     *		optional string acCltchEGD = 67;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
     */
    public boolean hasEtcLmpIndSts() {
      return ((bitField1_ & 0x00200000) == 0x00200000);
    }
    /**
     * <pre>
     *		optional string GR = 63;
     *		optional int32 vehiclePerAccelX = 64;
     *		optional int32 vehiclePerAccelY = 65;
     *		optional string ftFogRQ = 66;
     *		optional string acCltchEGD = 67;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(etcLmpIndSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int ISENGINEOILLAMPON_FIELD_NUMBER = 70;
    private boolean isEngineOilLampOn_;
    /**
     * <pre>
     *		optional string essEngineStatus = 69;///ESS_ENG_ST
     * </pre>
     *
     * <code>optional bool isEngineOilLampOn = 70;</code>
     */
    public boolean hasIsEngineOilLampOn() {
      return ((bitField1_ & 0x00400000) == 0x00400000);
    }
    /**
     * <pre>
     *		optional string essEngineStatus = 69;///ESS_ENG_ST
     * </pre>
     *
     * <code>optional bool isEngineOilLampOn = 70;</code>
     */
    public boolean getIsEngineOilLampOn() {
      return isEngineOilLampOn_;
    }

    public static final int OILTEMPINDICATORRQ_FIELD_NUMBER = 71;
    private int oilTempIndicatorRq_;
    /**
     * <pre>
     *&#47;OIL_TEMP_IND_RQ
     * </pre>
     *
     * <code>optional int32 oilTempIndicatorRq = 71;</code>
     */
    public boolean hasOilTempIndicatorRq() {
      return ((bitField1_ & 0x00800000) == 0x00800000);
    }
    /**
     * <pre>
     *&#47;OIL_TEMP_IND_RQ
     * </pre>
     *
     * <code>optional int32 oilTempIndicatorRq = 71;</code>
     */
    public int getOilTempIndicatorRq() {
      return oilTempIndicatorRq_;
    }

    public static final int ABSLAMPSTS_FIELD_NUMBER = 74;
    private int absLampSts_;
    /**
     * <pre>
     *		optional string engineTrqRqEsc = 72;
     *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
     */
    public boolean hasAbsLampSts() {
      return ((bitField1_ & 0x01000000) == 0x01000000);
    }
    /**
     * <pre>
     *		optional string engineTrqRqEsc = 72;
     *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(absLampSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int SRSINDLMPSTS_FIELD_NUMBER = 76;
    private int srsIndLmpSts_;
    /**
     * <pre>
     *		optional string spStSwStatus = 75;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
     */
    public boolean hasSrsIndLmpSts() {
      return ((bitField1_ & 0x02000000) == 0x02000000);
    }
    /**
     * <pre>
     *		optional string spStSwStatus = 75;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsIndLmpSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int OILPRESSURE_FIELD_NUMBER = 91;
    private int oilPressure_;
    /**
     * <pre>
     *		optional string mzrModeAct = 77;
     *		optional string flHSStat = 78;
     *		optional string frHSStat = 79;
     *		optional string autoDfgStatus = 80;
     *		optional string engineLoad = 81;
     *		optional string actlAccelPdlPosition = 82;
     *		optional string accelPdlPosition = 83;
     *		optional int32 fuelConsumption = 84;
     *		optional string engineTrqStatic = 85;
     * </pre>
     *
     * <code>optional int32 oilPressure = 91;</code>
     */
    public boolean hasOilPressure() {
      return ((bitField1_ & 0x04000000) == 0x04000000);
    }
    /**
     * <pre>
     *		optional string mzrModeAct = 77;
     *		optional string flHSStat = 78;
     *		optional string frHSStat = 79;
     *		optional string autoDfgStatus = 80;
     *		optional string engineLoad = 81;
     *		optional string actlAccelPdlPosition = 82;
     *		optional string accelPdlPosition = 83;
     *		optional int32 fuelConsumption = 84;
     *		optional string engineTrqStatic = 85;
     * </pre>
     *
     * <code>optional int32 oilPressure = 91;</code>
     */
    public int getOilPressure() {
      return oilPressure_;
    }

    public static final int SRSLMPSTS_FIELD_NUMBER = 92;
    private int srsLmpSts_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
     */
    public boolean hasSrsLmpSts() {
      return ((bitField1_ & 0x08000000) == 0x08000000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsLmpSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsLmpSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int WTRFUELINDLMPSTS_FIELD_NUMBER = 93;
    private int wtrFuelIndLmpSts_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
     */
    public boolean hasWtrFuelIndLmpSts() {
      return ((bitField1_ & 0x10000000) == 0x10000000);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getWtrFuelIndLmpSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(wtrFuelIndLmpSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int VCFUELCAPACITY_FIELD_NUMBER = 94;
    private int vcFuelCapacity_;
    /**
     * <pre>
     *&#47; Range 36 to 290,  liters
     * </pre>
     *
     * <code>optional int32 vcFuelCapacity = 94;</code>
     */
    public boolean hasVcFuelCapacity() {
      return ((bitField1_ & 0x20000000) == 0x20000000);
    }
    /**
     * <pre>
     *&#47; Range 36 to 290,  liters
     * </pre>
     *
     * <code>optional int32 vcFuelCapacity = 94;</code>
     */
    public int getVcFuelCapacity() {
      return vcFuelCapacity_;
    }

    public static final int ISBSM_OPR_STAT_FIELD_NUMBER = 95;
    private boolean isBSMOPRSTAT_;
    /**
     * <code>optional bool isBSM_OPR_STAT = 95;</code>
     */
    public boolean hasIsBSMOPRSTAT() {
      return ((bitField1_ & 0x40000000) == 0x40000000);
    }
    /**
     * <code>optional bool isBSM_OPR_STAT = 95;</code>
     */
    public boolean getIsBSMOPRSTAT() {
      return isBSMOPRSTAT_;
    }

    public static final int AVGFUELLVL_FIELD_NUMBER = 96;
    private int avgFuelLvl_;
    /**
     * <pre>
     *&#47; Range 0 to 255,  liters
     * </pre>
     *
     * <code>optional int32 avgFuelLvl = 96;</code>
     */
    public boolean hasAvgFuelLvl() {
      return ((bitField1_ & 0x80000000) == 0x80000000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 255,  liters
     * </pre>
     *
     * <code>optional int32 avgFuelLvl = 96;</code>
     */
    public int getAvgFuelLvl() {
      return avgFuelLvl_;
    }

    public static final int EPSWARNDISPRQ_FIELD_NUMBER = 97;
    private int epsWarnDispRq_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
     */
    public boolean hasEpsWarnDispRq() {
      return ((bitField2_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum getEpsWarnDispRq() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum.valueOf(epsWarnDispRq_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum.STATE_ZERO : result;
    }

    public static final int ESCCNTRLLMPSTS_FIELD_NUMBER = 98;
    private int escCntrlLmpSts_;
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
     */
    public boolean hasEscCntrlLmpSts() {
      return ((bitField2_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEscCntrlLmpSts() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(escCntrlLmpSts_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
    }

    public static final int ISPTS_FT_SRV_FIELD_NUMBER = 99;
    private boolean isPTSFTSRV_;
    /**
     * <code>optional bool isPTS_FT_SRV = 99;</code>
     */
    public boolean hasIsPTSFTSRV() {
      return ((bitField2_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bool isPTS_FT_SRV = 99;</code>
     */
    public boolean getIsPTSFTSRV() {
      return isPTSFTSRV_;
    }

    public static final int ISPTS_RR_SRV_FIELD_NUMBER = 100;
    private boolean isPTSRRSRV_;
    /**
     * <code>optional bool isPTS_RR_SRV = 100;</code>
     */
    public boolean hasIsPTSRRSRV() {
      return ((bitField2_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional bool isPTS_RR_SRV = 100;</code>
     */
    public boolean getIsPTSRRSRV() {
      return isPTSRRSRV_;
    }

    public static final int ISADS_SRVSYS_FIELD_NUMBER = 101;
    private boolean isADSSrvSys_;
    /**
     * <code>optional bool isADS_SrvSys = 101;</code>
     */
    public boolean hasIsADSSrvSys() {
      return ((bitField2_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional bool isADS_SrvSys = 101;</code>
     */
    public boolean getIsADSSrvSys() {
      return isADSSrvSys_;
    }

    public static final int ISACCFAULTED_FIELD_NUMBER = 102;
    private boolean isACCFaulted_;
    /**
     * <code>optional bool isACCFaulted = 102;</code>
     */
    public boolean hasIsACCFaulted() {
      return ((bitField2_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional bool isACCFaulted = 102;</code>
     */
    public boolean getIsACCFaulted() {
      return isACCFaulted_;
    }

    public static final int ISACCONLYNA_DASMSSTS_FIELD_NUMBER = 103;
    private boolean isACCOnlyNADASMSSts_;
    /**
     * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
     */
    public boolean hasIsACCOnlyNADASMSSts() {
      return ((bitField2_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
     */
    public boolean getIsACCOnlyNADASMSSts() {
      return isACCOnlyNADASMSSts_;
    }

    public static final int MAPREQUESTCD_FIELD_NUMBER = 104;
    private volatile java.lang.Object mapRequestCd_;
    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    public boolean hasMapRequestCd() {
      return ((bitField2_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    public java.lang.String getMapRequestCd() {
      java.lang.Object ref = mapRequestCd_;
      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();
        if (bs.isValidUtf8()) {
          mapRequestCd_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string mapRequestCd = 104;</code>
     */
    public com.google.protobuf.ByteString
        getMapRequestCdBytes() {
      java.lang.Object ref = mapRequestCd_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mapRequestCd_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ISNAVIGATIONACTIVATED_FIELD_NUMBER = 105;
    private boolean isNavigationActivated_;
    /**
     * <code>optional bool isNavigationActivated = 105;</code>
     */
    public boolean hasIsNavigationActivated() {
      return ((bitField2_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional bool isNavigationActivated = 105;</code>
     */
    public boolean getIsNavigationActivated() {
      return isNavigationActivated_;
    }

    public static final int ISSPLMPFAULT_FIELD_NUMBER = 106;
    private boolean isSPLmpFault_;
    /**
     * <code>optional bool isSPLmpFault = 106;</code>
     */
    public boolean hasIsSPLmpFault() {
      return ((bitField2_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional bool isSPLmpFault = 106;</code>
     */
    public boolean getIsSPLmpFault() {
      return isSPLmpFault_;
    }

    public static final int A_EV_MILES_FIELD_NUMBER = 107;
    private float aEVMiles_;
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
     * </pre>
     *
     * <code>optional float A_EV_Miles = 107;</code>
     */
    public boolean hasAEVMiles() {
      return ((bitField2_ & 0x00000400) == 0x00000400);
    }
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
     * </pre>
     *
     * <code>optional float A_EV_Miles = 107;</code>
     */
    public float getAEVMiles() {
      return aEVMiles_;
    }

    public static final int A_EV_KILOMETERS_FIELD_NUMBER = 108;
    private float aEVKilometers_;
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
     * </pre>
     *
     * <code>optional float A_EV_Kilometers = 108;</code>
     */
    public boolean hasAEVKilometers() {
      return ((bitField2_ & 0x00000800) == 0x00000800);
    }
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
     * </pre>
     *
     * <code>optional float A_EV_Kilometers = 108;</code>
     */
    public float getAEVKilometers() {
      return aEVKilometers_;
    }

    public static final int A_HYBRID_MILES_FIELD_NUMBER = 109;
    private float aHybridMiles_;
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
     * </pre>
     *
     * <code>optional float A_Hybrid_Miles = 109;</code>
     */
    public boolean hasAHybridMiles() {
      return ((bitField2_ & 0x00001000) == 0x00001000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
     * </pre>
     *
     * <code>optional float A_Hybrid_Miles = 109;</code>
     */
    public float getAHybridMiles() {
      return aHybridMiles_;
    }

    public static final int A_HYBRID_KILOMETERS_FIELD_NUMBER = 110;
    private float aHybridKilometers_;
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float A_Hybrid_Kilometers = 110;</code>
     */
    public boolean hasAHybridKilometers() {
      return ((bitField2_ & 0x00002000) == 0x00002000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float A_Hybrid_Kilometers = 110;</code>
     */
    public float getAHybridKilometers() {
      return aHybridKilometers_;
    }

    public static final int B_EV_MILES_FIELD_NUMBER = 111;
    private float bEVMiles_;
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
     * </pre>
     *
     * <code>optional float B_EV_Miles = 111;</code>
     */
    public boolean hasBEVMiles() {
      return ((bitField2_ & 0x00004000) == 0x00004000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
     * </pre>
     *
     * <code>optional float B_EV_Miles = 111;</code>
     */
    public float getBEVMiles() {
      return bEVMiles_;
    }

    public static final int B_EV_KILOMETERS_FIELD_NUMBER = 112;
    private float bEVKilometers_;
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
     * </pre>
     *
     * <code>optional float B_EV_Kilometers = 112;</code>
     */
    public boolean hasBEVKilometers() {
      return ((bitField2_ & 0x00008000) == 0x00008000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
     * </pre>
     *
     * <code>optional float B_EV_Kilometers = 112;</code>
     */
    public float getBEVKilometers() {
      return bEVKilometers_;
    }

    public static final int B_HYBRID_MILES_FIELD_NUMBER = 113;
    private float bHybridMiles_;
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
     * </pre>
     *
     * <code>optional float B_Hybrid_Miles = 113;</code>
     */
    public boolean hasBHybridMiles() {
      return ((bitField2_ & 0x00010000) == 0x00010000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
     * </pre>
     *
     * <code>optional float B_Hybrid_Miles = 113;</code>
     */
    public float getBHybridMiles() {
      return bHybridMiles_;
    }

    public static final int B_HYBRID_KILOMETERS_FIELD_NUMBER = 114;
    private float bHybridKilometers_;
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float B_Hybrid_Kilometers = 114;</code>
     */
    public boolean hasBHybridKilometers() {
      return ((bitField2_ & 0x00020000) == 0x00020000);
    }
    /**
     * <pre>
     *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
     * </pre>
     *
     * <code>optional float B_Hybrid_Kilometers = 114;</code>
     */
    public float getBHybridKilometers() {
      return bHybridKilometers_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(2, oDO_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(3, distanceToService_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(4, isAutoOilChgReq_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(5, oilLifeLeft_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(6, iBSSOC_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(7, travelingTimeAPlusHour_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(8, travelingTimeAPlusMinute_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(9, getTirePressure());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBool(10, isMILOnRq_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeBool(11, isGlowPlugs_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeBool(12, isLHTurnLightFault_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBool(13, isRGTurnLightFault_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBool(14, isPlateLmpFault_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeBool(15, isDRLFault_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeBool(16, isFuelLevelLow_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeBool(17, isBatteryLampStsOn_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeEnum(18, isChrgSystemFail_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeBool(19, isFuelCapOpen_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeBool(20, isParkingFailSts_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        output.writeBool(21, isHillHolderFailSts_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        output.writeEnum(22, isEBDLAMPFailSts_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        output.writeEnum(23, isTPMIndLmpOnRq_);
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        output.writeBool(24, isBreakFluidLow_);
      }
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        output.writeBool(25, isWashFluidLow_);
      }
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        output.writeBool(26, isBSMServiceReqOn_);
      }
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        output.writeInt32(27, numStops_);
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        output.writeInt32(28, numHardBrakes_);
      }
      if (((bitField0_ & 0x08000000) == 0x08000000)) {
        output.writeEnum(29, maintenanceSts_);
      }
      if (((bitField0_ & 0x20000000) == 0x20000000)) {
        output.writeInt64(30, vrcUploadTimeStamp_);
      }
      if (((bitField0_ & 0x40000000) == 0x40000000)) {
        output.writeInt32(31, engineRunTime_);
      }
      if (((bitField0_ & 0x80000000) == 0x80000000)) {
        output.writeInt32(32, avgFuelEconomy_);
      }
      if (((bitField1_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(33, batteryVoltage_);
      }
      if (((bitField1_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(34, distanceUnit_);
      }
      if (((bitField1_ & 0x00000004) == 0x00000004)) {
        output.writeBool(35, isRunFlatTireLow_);
      }
      if (((bitField1_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(36, gasRange_);
      }
      if (((bitField1_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(37, tripAKMPL_);
      }
      if (((bitField1_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(38, tripAMPG_);
      }
      if (((bitField1_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(39, tripBKMPL_);
      }
      if (((bitField1_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(40, tripBMPG_);
      }
      if (((bitField1_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(41, tripATotalDistKM_);
      }
      if (((bitField1_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(42, tripATotalDistMiles_);
      }
      if (((bitField1_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(43, tripBTotalDistKM_);
      }
      if (((bitField1_ & 0x00000800) == 0x00000800)) {
        output.writeInt32(44, tripBTotalDistMiles_);
      }
      if (((bitField1_ & 0x00001000) == 0x00001000)) {
        output.writeFloat(46, vehicleSpeed_);
      }
      if (((bitField1_ & 0x00002000) == 0x00002000)) {
        output.writeInt32(48, ambientAvgTemperature_);
      }
      if (((bitField1_ & 0x00004000) == 0x00004000)) {
        output.writeInt32(50, dpfDEFWarning_);
      }
      if (((bitField1_ & 0x00008000) == 0x00008000)) {
        output.writeEnum(57, brakeLampIndicatorSts_);
      }
      if (((bitField1_ & 0x00010000) == 0x00010000)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 58, txTempExcess_);
      }
      if (((bitField1_ & 0x00020000) == 0x00020000)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 59, pFW_);
      }
      if (((bitField1_ & 0x00040000) == 0x00040000)) {
        output.writeSInt32(60, iBSIBATT_);
      }
      if (((bitField1_ & 0x00080000) == 0x00080000)) {
        output.writeSInt32(61, iBSTBATT_);
      }
      if (((bitField1_ & 0x00100000) == 0x00100000)) {
        output.writeFloat(62, iBSVBATT_);
      }
      if (((bitField1_ & 0x00200000) == 0x00200000)) {
        output.writeEnum(68, etcLmpIndSts_);
      }
      if (((bitField1_ & 0x00400000) == 0x00400000)) {
        output.writeBool(70, isEngineOilLampOn_);
      }
      if (((bitField1_ & 0x00800000) == 0x00800000)) {
        output.writeInt32(71, oilTempIndicatorRq_);
      }
      if (((bitField1_ & 0x01000000) == 0x01000000)) {
        output.writeEnum(74, absLampSts_);
      }
      if (((bitField1_ & 0x02000000) == 0x02000000)) {
        output.writeEnum(76, srsIndLmpSts_);
      }
      if (((bitField0_ & 0x10000000) == 0x10000000)) {
        output.writeInt32(90, vrcUploadDayOfMonth_);
      }
      if (((bitField1_ & 0x04000000) == 0x04000000)) {
        output.writeInt32(91, oilPressure_);
      }
      if (((bitField1_ & 0x08000000) == 0x08000000)) {
        output.writeEnum(92, srsLmpSts_);
      }
      if (((bitField1_ & 0x10000000) == 0x10000000)) {
        output.writeEnum(93, wtrFuelIndLmpSts_);
      }
      if (((bitField1_ & 0x20000000) == 0x20000000)) {
        output.writeInt32(94, vcFuelCapacity_);
      }
      if (((bitField1_ & 0x40000000) == 0x40000000)) {
        output.writeBool(95, isBSMOPRSTAT_);
      }
      if (((bitField1_ & 0x80000000) == 0x80000000)) {
        output.writeInt32(96, avgFuelLvl_);
      }
      if (((bitField2_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(97, epsWarnDispRq_);
      }
      if (((bitField2_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(98, escCntrlLmpSts_);
      }
      if (((bitField2_ & 0x00000004) == 0x00000004)) {
        output.writeBool(99, isPTSFTSRV_);
      }
      if (((bitField2_ & 0x00000008) == 0x00000008)) {
        output.writeBool(100, isPTSRRSRV_);
      }
      if (((bitField2_ & 0x00000010) == 0x00000010)) {
        output.writeBool(101, isADSSrvSys_);
      }
      if (((bitField2_ & 0x00000020) == 0x00000020)) {
        output.writeBool(102, isACCFaulted_);
      }
      if (((bitField2_ & 0x00000040) == 0x00000040)) {
        output.writeBool(103, isACCOnlyNADASMSSts_);
      }
      if (((bitField2_ & 0x00000080) == 0x00000080)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 104, mapRequestCd_);
      }
      if (((bitField2_ & 0x00000100) == 0x00000100)) {
        output.writeBool(105, isNavigationActivated_);
      }
      if (((bitField2_ & 0x00000200) == 0x00000200)) {
        output.writeBool(106, isSPLmpFault_);
      }
      if (((bitField2_ & 0x00000400) == 0x00000400)) {
        output.writeFloat(107, aEVMiles_);
      }
      if (((bitField2_ & 0x00000800) == 0x00000800)) {
        output.writeFloat(108, aEVKilometers_);
      }
      if (((bitField2_ & 0x00001000) == 0x00001000)) {
        output.writeFloat(109, aHybridMiles_);
      }
      if (((bitField2_ & 0x00002000) == 0x00002000)) {
        output.writeFloat(110, aHybridKilometers_);
      }
      if (((bitField2_ & 0x00004000) == 0x00004000)) {
        output.writeFloat(111, bEVMiles_);
      }
      if (((bitField2_ & 0x00008000) == 0x00008000)) {
        output.writeFloat(112, bEVKilometers_);
      }
      if (((bitField2_ & 0x00010000) == 0x00010000)) {
        output.writeFloat(113, bHybridMiles_);
      }
      if (((bitField2_ & 0x00020000) == 0x00020000)) {
        output.writeFloat(114, bHybridKilometers_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, oDO_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, distanceToService_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isAutoOilChgReq_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, oilLifeLeft_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, iBSSOC_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, travelingTimeAPlusHour_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, travelingTimeAPlusMinute_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getTirePressure());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, isMILOnRq_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(11, isGlowPlugs_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(12, isLHTurnLightFault_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, isRGTurnLightFault_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(14, isPlateLmpFault_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(15, isDRLFault_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(16, isFuelLevelLow_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(17, isBatteryLampStsOn_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(18, isChrgSystemFail_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(19, isFuelCapOpen_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(20, isParkingFailSts_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(21, isHillHolderFailSts_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(22, isEBDLAMPFailSts_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(23, isTPMIndLmpOnRq_);
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(24, isBreakFluidLow_);
      }
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(25, isWashFluidLow_);
      }
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(26, isBSMServiceReqOn_);
      }
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(27, numStops_);
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(28, numHardBrakes_);
      }
      if (((bitField0_ & 0x08000000) == 0x08000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(29, maintenanceSts_);
      }
      if (((bitField0_ & 0x20000000) == 0x20000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(30, vrcUploadTimeStamp_);
      }
      if (((bitField0_ & 0x40000000) == 0x40000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(31, engineRunTime_);
      }
      if (((bitField0_ & 0x80000000) == 0x80000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(32, avgFuelEconomy_);
      }
      if (((bitField1_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(33, batteryVoltage_);
      }
      if (((bitField1_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(34, distanceUnit_);
      }
      if (((bitField1_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(35, isRunFlatTireLow_);
      }
      if (((bitField1_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(36, gasRange_);
      }
      if (((bitField1_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(37, tripAKMPL_);
      }
      if (((bitField1_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(38, tripAMPG_);
      }
      if (((bitField1_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(39, tripBKMPL_);
      }
      if (((bitField1_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(40, tripBMPG_);
      }
      if (((bitField1_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(41, tripATotalDistKM_);
      }
      if (((bitField1_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(42, tripATotalDistMiles_);
      }
      if (((bitField1_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(43, tripBTotalDistKM_);
      }
      if (((bitField1_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(44, tripBTotalDistMiles_);
      }
      if (((bitField1_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(46, vehicleSpeed_);
      }
      if (((bitField1_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(48, ambientAvgTemperature_);
      }
      if (((bitField1_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(50, dpfDEFWarning_);
      }
      if (((bitField1_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(57, brakeLampIndicatorSts_);
      }
      if (((bitField1_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(58, txTempExcess_);
      }
      if (((bitField1_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(59, pFW_);
      }
      if (((bitField1_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(60, iBSIBATT_);
      }
      if (((bitField1_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(61, iBSTBATT_);
      }
      if (((bitField1_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(62, iBSVBATT_);
      }
      if (((bitField1_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(68, etcLmpIndSts_);
      }
      if (((bitField1_ & 0x00400000) == 0x00400000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(70, isEngineOilLampOn_);
      }
      if (((bitField1_ & 0x00800000) == 0x00800000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(71, oilTempIndicatorRq_);
      }
      if (((bitField1_ & 0x01000000) == 0x01000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(74, absLampSts_);
      }
      if (((bitField1_ & 0x02000000) == 0x02000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(76, srsIndLmpSts_);
      }
      if (((bitField0_ & 0x10000000) == 0x10000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(90, vrcUploadDayOfMonth_);
      }
      if (((bitField1_ & 0x04000000) == 0x04000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(91, oilPressure_);
      }
      if (((bitField1_ & 0x08000000) == 0x08000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(92, srsLmpSts_);
      }
      if (((bitField1_ & 0x10000000) == 0x10000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(93, wtrFuelIndLmpSts_);
      }
      if (((bitField1_ & 0x20000000) == 0x20000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(94, vcFuelCapacity_);
      }
      if (((bitField1_ & 0x40000000) == 0x40000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(95, isBSMOPRSTAT_);
      }
      if (((bitField1_ & 0x80000000) == 0x80000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(96, avgFuelLvl_);
      }
      if (((bitField2_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(97, epsWarnDispRq_);
      }
      if (((bitField2_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(98, escCntrlLmpSts_);
      }
      if (((bitField2_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(99, isPTSFTSRV_);
      }
      if (((bitField2_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(100, isPTSRRSRV_);
      }
      if (((bitField2_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(101, isADSSrvSys_);
      }
      if (((bitField2_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(102, isACCFaulted_);
      }
      if (((bitField2_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(103, isACCOnlyNADASMSSts_);
      }
      if (((bitField2_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(104, mapRequestCd_);
      }
      if (((bitField2_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(105, isNavigationActivated_);
      }
      if (((bitField2_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(106, isSPLmpFault_);
      }
      if (((bitField2_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(107, aEVMiles_);
      }
      if (((bitField2_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(108, aEVKilometers_);
      }
      if (((bitField2_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(109, aHybridMiles_);
      }
      if (((bitField2_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(110, aHybridKilometers_);
      }
      if (((bitField2_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(111, bEVMiles_);
      }
      if (((bitField2_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(112, bEVKilometers_);
      }
      if (((bitField2_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(113, bHybridMiles_);
      }
      if (((bitField2_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(114, bHybridKilometers_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData) obj;

      boolean result = true;
      result = result && (hasODO() == other.hasODO());
      if (hasODO()) {
        result = result && (getODO()
            == other.getODO());
      }
      result = result && (hasDistanceToService() == other.hasDistanceToService());
      if (hasDistanceToService()) {
        result = result && (
            java.lang.Float.floatToIntBits(getDistanceToService())
            == java.lang.Float.floatToIntBits(
                other.getDistanceToService()));
      }
      result = result && (hasIsAutoOilChgReq() == other.hasIsAutoOilChgReq());
      if (hasIsAutoOilChgReq()) {
        result = result && (getIsAutoOilChgReq()
            == other.getIsAutoOilChgReq());
      }
      result = result && (hasOilLifeLeft() == other.hasOilLifeLeft());
      if (hasOilLifeLeft()) {
        result = result && (getOilLifeLeft()
            == other.getOilLifeLeft());
      }
      result = result && (hasIBSSOC() == other.hasIBSSOC());
      if (hasIBSSOC()) {
        result = result && (
            java.lang.Float.floatToIntBits(getIBSSOC())
            == java.lang.Float.floatToIntBits(
                other.getIBSSOC()));
      }
      result = result && (hasTravelingTimeAPlusHour() == other.hasTravelingTimeAPlusHour());
      if (hasTravelingTimeAPlusHour()) {
        result = result && (getTravelingTimeAPlusHour()
            == other.getTravelingTimeAPlusHour());
      }
      result = result && (hasTravelingTimeAPlusMinute() == other.hasTravelingTimeAPlusMinute());
      if (hasTravelingTimeAPlusMinute()) {
        result = result && (getTravelingTimeAPlusMinute()
            == other.getTravelingTimeAPlusMinute());
      }
      result = result && (hasTirePressure() == other.hasTirePressure());
      if (hasTirePressure()) {
        result = result && getTirePressure()
            .equals(other.getTirePressure());
      }
      result = result && (hasIsMILOnRq() == other.hasIsMILOnRq());
      if (hasIsMILOnRq()) {
        result = result && (getIsMILOnRq()
            == other.getIsMILOnRq());
      }
      result = result && (hasIsGlowPlugs() == other.hasIsGlowPlugs());
      if (hasIsGlowPlugs()) {
        result = result && (getIsGlowPlugs()
            == other.getIsGlowPlugs());
      }
      result = result && (hasIsLHTurnLightFault() == other.hasIsLHTurnLightFault());
      if (hasIsLHTurnLightFault()) {
        result = result && (getIsLHTurnLightFault()
            == other.getIsLHTurnLightFault());
      }
      result = result && (hasIsRGTurnLightFault() == other.hasIsRGTurnLightFault());
      if (hasIsRGTurnLightFault()) {
        result = result && (getIsRGTurnLightFault()
            == other.getIsRGTurnLightFault());
      }
      result = result && (hasIsPlateLmpFault() == other.hasIsPlateLmpFault());
      if (hasIsPlateLmpFault()) {
        result = result && (getIsPlateLmpFault()
            == other.getIsPlateLmpFault());
      }
      result = result && (hasIsDRLFault() == other.hasIsDRLFault());
      if (hasIsDRLFault()) {
        result = result && (getIsDRLFault()
            == other.getIsDRLFault());
      }
      result = result && (hasIsFuelLevelLow() == other.hasIsFuelLevelLow());
      if (hasIsFuelLevelLow()) {
        result = result && (getIsFuelLevelLow()
            == other.getIsFuelLevelLow());
      }
      result = result && (hasIsBatteryLampStsOn() == other.hasIsBatteryLampStsOn());
      if (hasIsBatteryLampStsOn()) {
        result = result && (getIsBatteryLampStsOn()
            == other.getIsBatteryLampStsOn());
      }
      result = result && (hasIsChrgSystemFail() == other.hasIsChrgSystemFail());
      if (hasIsChrgSystemFail()) {
        result = result && isChrgSystemFail_ == other.isChrgSystemFail_;
      }
      result = result && (hasIsFuelCapOpen() == other.hasIsFuelCapOpen());
      if (hasIsFuelCapOpen()) {
        result = result && (getIsFuelCapOpen()
            == other.getIsFuelCapOpen());
      }
      result = result && (hasIsParkingFailSts() == other.hasIsParkingFailSts());
      if (hasIsParkingFailSts()) {
        result = result && (getIsParkingFailSts()
            == other.getIsParkingFailSts());
      }
      result = result && (hasIsHillHolderFailSts() == other.hasIsHillHolderFailSts());
      if (hasIsHillHolderFailSts()) {
        result = result && (getIsHillHolderFailSts()
            == other.getIsHillHolderFailSts());
      }
      result = result && (hasIsEBDLAMPFailSts() == other.hasIsEBDLAMPFailSts());
      if (hasIsEBDLAMPFailSts()) {
        result = result && isEBDLAMPFailSts_ == other.isEBDLAMPFailSts_;
      }
      result = result && (hasIsTPMIndLmpOnRq() == other.hasIsTPMIndLmpOnRq());
      if (hasIsTPMIndLmpOnRq()) {
        result = result && isTPMIndLmpOnRq_ == other.isTPMIndLmpOnRq_;
      }
      result = result && (hasIsBreakFluidLow() == other.hasIsBreakFluidLow());
      if (hasIsBreakFluidLow()) {
        result = result && (getIsBreakFluidLow()
            == other.getIsBreakFluidLow());
      }
      result = result && (hasIsWashFluidLow() == other.hasIsWashFluidLow());
      if (hasIsWashFluidLow()) {
        result = result && (getIsWashFluidLow()
            == other.getIsWashFluidLow());
      }
      result = result && (hasIsBSMServiceReqOn() == other.hasIsBSMServiceReqOn());
      if (hasIsBSMServiceReqOn()) {
        result = result && (getIsBSMServiceReqOn()
            == other.getIsBSMServiceReqOn());
      }
      result = result && (hasNumStops() == other.hasNumStops());
      if (hasNumStops()) {
        result = result && (getNumStops()
            == other.getNumStops());
      }
      result = result && (hasNumHardBrakes() == other.hasNumHardBrakes());
      if (hasNumHardBrakes()) {
        result = result && (getNumHardBrakes()
            == other.getNumHardBrakes());
      }
      result = result && (hasMaintenanceSts() == other.hasMaintenanceSts());
      if (hasMaintenanceSts()) {
        result = result && maintenanceSts_ == other.maintenanceSts_;
      }
      result = result && (hasVrcUploadDayOfMonth() == other.hasVrcUploadDayOfMonth());
      if (hasVrcUploadDayOfMonth()) {
        result = result && (getVrcUploadDayOfMonth()
            == other.getVrcUploadDayOfMonth());
      }
      result = result && (hasVrcUploadTimeStamp() == other.hasVrcUploadTimeStamp());
      if (hasVrcUploadTimeStamp()) {
        result = result && (getVrcUploadTimeStamp()
            == other.getVrcUploadTimeStamp());
      }
      result = result && (hasEngineRunTime() == other.hasEngineRunTime());
      if (hasEngineRunTime()) {
        result = result && (getEngineRunTime()
            == other.getEngineRunTime());
      }
      result = result && (hasAvgFuelEconomy() == other.hasAvgFuelEconomy());
      if (hasAvgFuelEconomy()) {
        result = result && (getAvgFuelEconomy()
            == other.getAvgFuelEconomy());
      }
      result = result && (hasBatteryVoltage() == other.hasBatteryVoltage());
      if (hasBatteryVoltage()) {
        result = result && (
            java.lang.Float.floatToIntBits(getBatteryVoltage())
            == java.lang.Float.floatToIntBits(
                other.getBatteryVoltage()));
      }
      result = result && (hasDistanceUnit() == other.hasDistanceUnit());
      if (hasDistanceUnit()) {
        result = result && distanceUnit_ == other.distanceUnit_;
      }
      result = result && (hasIsRunFlatTireLow() == other.hasIsRunFlatTireLow());
      if (hasIsRunFlatTireLow()) {
        result = result && (getIsRunFlatTireLow()
            == other.getIsRunFlatTireLow());
      }
      result = result && (hasGasRange() == other.hasGasRange());
      if (hasGasRange()) {
        result = result && (getGasRange()
            == other.getGasRange());
      }
      result = result && (hasTripAKMPL() == other.hasTripAKMPL());
      if (hasTripAKMPL()) {
        result = result && (getTripAKMPL()
            == other.getTripAKMPL());
      }
      result = result && (hasTripAMPG() == other.hasTripAMPG());
      if (hasTripAMPG()) {
        result = result && (getTripAMPG()
            == other.getTripAMPG());
      }
      result = result && (hasTripBKMPL() == other.hasTripBKMPL());
      if (hasTripBKMPL()) {
        result = result && (getTripBKMPL()
            == other.getTripBKMPL());
      }
      result = result && (hasTripBMPG() == other.hasTripBMPG());
      if (hasTripBMPG()) {
        result = result && (getTripBMPG()
            == other.getTripBMPG());
      }
      result = result && (hasTripATotalDistKM() == other.hasTripATotalDistKM());
      if (hasTripATotalDistKM()) {
        result = result && (getTripATotalDistKM()
            == other.getTripATotalDistKM());
      }
      result = result && (hasTripATotalDistMiles() == other.hasTripATotalDistMiles());
      if (hasTripATotalDistMiles()) {
        result = result && (getTripATotalDistMiles()
            == other.getTripATotalDistMiles());
      }
      result = result && (hasTripBTotalDistKM() == other.hasTripBTotalDistKM());
      if (hasTripBTotalDistKM()) {
        result = result && (getTripBTotalDistKM()
            == other.getTripBTotalDistKM());
      }
      result = result && (hasTripBTotalDistMiles() == other.hasTripBTotalDistMiles());
      if (hasTripBTotalDistMiles()) {
        result = result && (getTripBTotalDistMiles()
            == other.getTripBTotalDistMiles());
      }
      result = result && (hasVehicleSpeed() == other.hasVehicleSpeed());
      if (hasVehicleSpeed()) {
        result = result && (
            java.lang.Float.floatToIntBits(getVehicleSpeed())
            == java.lang.Float.floatToIntBits(
                other.getVehicleSpeed()));
      }
      result = result && (hasAmbientAvgTemperature() == other.hasAmbientAvgTemperature());
      if (hasAmbientAvgTemperature()) {
        result = result && (getAmbientAvgTemperature()
            == other.getAmbientAvgTemperature());
      }
      result = result && (hasDpfDEFWarning() == other.hasDpfDEFWarning());
      if (hasDpfDEFWarning()) {
        result = result && (getDpfDEFWarning()
            == other.getDpfDEFWarning());
      }
      result = result && (hasBrakeLampIndicatorSts() == other.hasBrakeLampIndicatorSts());
      if (hasBrakeLampIndicatorSts()) {
        result = result && brakeLampIndicatorSts_ == other.brakeLampIndicatorSts_;
      }
      result = result && (hasTxTempExcess() == other.hasTxTempExcess());
      if (hasTxTempExcess()) {
        result = result && getTxTempExcess()
            .equals(other.getTxTempExcess());
      }
      result = result && (hasPFW() == other.hasPFW());
      if (hasPFW()) {
        result = result && getPFW()
            .equals(other.getPFW());
      }
      result = result && (hasIBSIBATT() == other.hasIBSIBATT());
      if (hasIBSIBATT()) {
        result = result && (getIBSIBATT()
            == other.getIBSIBATT());
      }
      result = result && (hasIBSTBATT() == other.hasIBSTBATT());
      if (hasIBSTBATT()) {
        result = result && (getIBSTBATT()
            == other.getIBSTBATT());
      }
      result = result && (hasIBSVBATT() == other.hasIBSVBATT());
      if (hasIBSVBATT()) {
        result = result && (
            java.lang.Float.floatToIntBits(getIBSVBATT())
            == java.lang.Float.floatToIntBits(
                other.getIBSVBATT()));
      }
      result = result && (hasEtcLmpIndSts() == other.hasEtcLmpIndSts());
      if (hasEtcLmpIndSts()) {
        result = result && etcLmpIndSts_ == other.etcLmpIndSts_;
      }
      result = result && (hasIsEngineOilLampOn() == other.hasIsEngineOilLampOn());
      if (hasIsEngineOilLampOn()) {
        result = result && (getIsEngineOilLampOn()
            == other.getIsEngineOilLampOn());
      }
      result = result && (hasOilTempIndicatorRq() == other.hasOilTempIndicatorRq());
      if (hasOilTempIndicatorRq()) {
        result = result && (getOilTempIndicatorRq()
            == other.getOilTempIndicatorRq());
      }
      result = result && (hasAbsLampSts() == other.hasAbsLampSts());
      if (hasAbsLampSts()) {
        result = result && absLampSts_ == other.absLampSts_;
      }
      result = result && (hasSrsIndLmpSts() == other.hasSrsIndLmpSts());
      if (hasSrsIndLmpSts()) {
        result = result && srsIndLmpSts_ == other.srsIndLmpSts_;
      }
      result = result && (hasOilPressure() == other.hasOilPressure());
      if (hasOilPressure()) {
        result = result && (getOilPressure()
            == other.getOilPressure());
      }
      result = result && (hasSrsLmpSts() == other.hasSrsLmpSts());
      if (hasSrsLmpSts()) {
        result = result && srsLmpSts_ == other.srsLmpSts_;
      }
      result = result && (hasWtrFuelIndLmpSts() == other.hasWtrFuelIndLmpSts());
      if (hasWtrFuelIndLmpSts()) {
        result = result && wtrFuelIndLmpSts_ == other.wtrFuelIndLmpSts_;
      }
      result = result && (hasVcFuelCapacity() == other.hasVcFuelCapacity());
      if (hasVcFuelCapacity()) {
        result = result && (getVcFuelCapacity()
            == other.getVcFuelCapacity());
      }
      result = result && (hasIsBSMOPRSTAT() == other.hasIsBSMOPRSTAT());
      if (hasIsBSMOPRSTAT()) {
        result = result && (getIsBSMOPRSTAT()
            == other.getIsBSMOPRSTAT());
      }
      result = result && (hasAvgFuelLvl() == other.hasAvgFuelLvl());
      if (hasAvgFuelLvl()) {
        result = result && (getAvgFuelLvl()
            == other.getAvgFuelLvl());
      }
      result = result && (hasEpsWarnDispRq() == other.hasEpsWarnDispRq());
      if (hasEpsWarnDispRq()) {
        result = result && epsWarnDispRq_ == other.epsWarnDispRq_;
      }
      result = result && (hasEscCntrlLmpSts() == other.hasEscCntrlLmpSts());
      if (hasEscCntrlLmpSts()) {
        result = result && escCntrlLmpSts_ == other.escCntrlLmpSts_;
      }
      result = result && (hasIsPTSFTSRV() == other.hasIsPTSFTSRV());
      if (hasIsPTSFTSRV()) {
        result = result && (getIsPTSFTSRV()
            == other.getIsPTSFTSRV());
      }
      result = result && (hasIsPTSRRSRV() == other.hasIsPTSRRSRV());
      if (hasIsPTSRRSRV()) {
        result = result && (getIsPTSRRSRV()
            == other.getIsPTSRRSRV());
      }
      result = result && (hasIsADSSrvSys() == other.hasIsADSSrvSys());
      if (hasIsADSSrvSys()) {
        result = result && (getIsADSSrvSys()
            == other.getIsADSSrvSys());
      }
      result = result && (hasIsACCFaulted() == other.hasIsACCFaulted());
      if (hasIsACCFaulted()) {
        result = result && (getIsACCFaulted()
            == other.getIsACCFaulted());
      }
      result = result && (hasIsACCOnlyNADASMSSts() == other.hasIsACCOnlyNADASMSSts());
      if (hasIsACCOnlyNADASMSSts()) {
        result = result && (getIsACCOnlyNADASMSSts()
            == other.getIsACCOnlyNADASMSSts());
      }
      result = result && (hasMapRequestCd() == other.hasMapRequestCd());
      if (hasMapRequestCd()) {
        result = result && getMapRequestCd()
            .equals(other.getMapRequestCd());
      }
      result = result && (hasIsNavigationActivated() == other.hasIsNavigationActivated());
      if (hasIsNavigationActivated()) {
        result = result && (getIsNavigationActivated()
            == other.getIsNavigationActivated());
      }
      result = result && (hasIsSPLmpFault() == other.hasIsSPLmpFault());
      if (hasIsSPLmpFault()) {
        result = result && (getIsSPLmpFault()
            == other.getIsSPLmpFault());
      }
      result = result && (hasAEVMiles() == other.hasAEVMiles());
      if (hasAEVMiles()) {
        result = result && (
            java.lang.Float.floatToIntBits(getAEVMiles())
            == java.lang.Float.floatToIntBits(
                other.getAEVMiles()));
      }
      result = result && (hasAEVKilometers() == other.hasAEVKilometers());
      if (hasAEVKilometers()) {
        result = result && (
            java.lang.Float.floatToIntBits(getAEVKilometers())
            == java.lang.Float.floatToIntBits(
                other.getAEVKilometers()));
      }
      result = result && (hasAHybridMiles() == other.hasAHybridMiles());
      if (hasAHybridMiles()) {
        result = result && (
            java.lang.Float.floatToIntBits(getAHybridMiles())
            == java.lang.Float.floatToIntBits(
                other.getAHybridMiles()));
      }
      result = result && (hasAHybridKilometers() == other.hasAHybridKilometers());
      if (hasAHybridKilometers()) {
        result = result && (
            java.lang.Float.floatToIntBits(getAHybridKilometers())
            == java.lang.Float.floatToIntBits(
                other.getAHybridKilometers()));
      }
      result = result && (hasBEVMiles() == other.hasBEVMiles());
      if (hasBEVMiles()) {
        result = result && (
            java.lang.Float.floatToIntBits(getBEVMiles())
            == java.lang.Float.floatToIntBits(
                other.getBEVMiles()));
      }
      result = result && (hasBEVKilometers() == other.hasBEVKilometers());
      if (hasBEVKilometers()) {
        result = result && (
            java.lang.Float.floatToIntBits(getBEVKilometers())
            == java.lang.Float.floatToIntBits(
                other.getBEVKilometers()));
      }
      result = result && (hasBHybridMiles() == other.hasBHybridMiles());
      if (hasBHybridMiles()) {
        result = result && (
            java.lang.Float.floatToIntBits(getBHybridMiles())
            == java.lang.Float.floatToIntBits(
                other.getBHybridMiles()));
      }
      result = result && (hasBHybridKilometers() == other.hasBHybridKilometers());
      if (hasBHybridKilometers()) {
        result = result && (
            java.lang.Float.floatToIntBits(getBHybridKilometers())
            == java.lang.Float.floatToIntBits(
                other.getBHybridKilometers()));
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasODO()) {
        hash = (37 * hash) + ODO_FIELD_NUMBER;
        hash = (53 * hash) + getODO();
      }
      if (hasDistanceToService()) {
        hash = (37 * hash) + DISTANCETOSERVICE_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getDistanceToService());
      }
      if (hasIsAutoOilChgReq()) {
        hash = (37 * hash) + ISAUTOOILCHGREQ_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsAutoOilChgReq());
      }
      if (hasOilLifeLeft()) {
        hash = (37 * hash) + OILLIFELEFT_FIELD_NUMBER;
        hash = (53 * hash) + getOilLifeLeft();
      }
      if (hasIBSSOC()) {
        hash = (37 * hash) + IBS_SOC_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getIBSSOC());
      }
      if (hasTravelingTimeAPlusHour()) {
        hash = (37 * hash) + TRAVELINGTIMEAPLUSHOUR_FIELD_NUMBER;
        hash = (53 * hash) + getTravelingTimeAPlusHour();
      }
      if (hasTravelingTimeAPlusMinute()) {
        hash = (37 * hash) + TRAVELINGTIMEAPLUSMINUTE_FIELD_NUMBER;
        hash = (53 * hash) + getTravelingTimeAPlusMinute();
      }
      if (hasTirePressure()) {
        hash = (37 * hash) + TIREPRESSURE_FIELD_NUMBER;
        hash = (53 * hash) + getTirePressure().hashCode();
      }
      if (hasIsMILOnRq()) {
        hash = (37 * hash) + ISMILONRQ_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsMILOnRq());
      }
      if (hasIsGlowPlugs()) {
        hash = (37 * hash) + ISGLOWPLUGS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsGlowPlugs());
      }
      if (hasIsLHTurnLightFault()) {
        hash = (37 * hash) + ISLHTURNLIGHTFAULT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsLHTurnLightFault());
      }
      if (hasIsRGTurnLightFault()) {
        hash = (37 * hash) + ISRGTURNLIGHTFAULT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsRGTurnLightFault());
      }
      if (hasIsPlateLmpFault()) {
        hash = (37 * hash) + ISPLATELMPFAULT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsPlateLmpFault());
      }
      if (hasIsDRLFault()) {
        hash = (37 * hash) + ISDRLFAULT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsDRLFault());
      }
      if (hasIsFuelLevelLow()) {
        hash = (37 * hash) + ISFUELLEVELLOW_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsFuelLevelLow());
      }
      if (hasIsBatteryLampStsOn()) {
        hash = (37 * hash) + ISBATTERYLAMPSTSON_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsBatteryLampStsOn());
      }
      if (hasIsChrgSystemFail()) {
        hash = (37 * hash) + ISCHRGSYSTEMFAIL_FIELD_NUMBER;
        hash = (53 * hash) + isChrgSystemFail_;
      }
      if (hasIsFuelCapOpen()) {
        hash = (37 * hash) + ISFUELCAPOPEN_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsFuelCapOpen());
      }
      if (hasIsParkingFailSts()) {
        hash = (37 * hash) + ISPARKINGFAILSTS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsParkingFailSts());
      }
      if (hasIsHillHolderFailSts()) {
        hash = (37 * hash) + ISHILLHOLDERFAILSTS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsHillHolderFailSts());
      }
      if (hasIsEBDLAMPFailSts()) {
        hash = (37 * hash) + ISEBDLAMPFAILSTS_FIELD_NUMBER;
        hash = (53 * hash) + isEBDLAMPFailSts_;
      }
      if (hasIsTPMIndLmpOnRq()) {
        hash = (37 * hash) + ISTPMINDLMPONRQ_FIELD_NUMBER;
        hash = (53 * hash) + isTPMIndLmpOnRq_;
      }
      if (hasIsBreakFluidLow()) {
        hash = (37 * hash) + ISBREAKFLUIDLOW_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsBreakFluidLow());
      }
      if (hasIsWashFluidLow()) {
        hash = (37 * hash) + ISWASHFLUIDLOW_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsWashFluidLow());
      }
      if (hasIsBSMServiceReqOn()) {
        hash = (37 * hash) + ISBSMSERVICEREQON_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsBSMServiceReqOn());
      }
      if (hasNumStops()) {
        hash = (37 * hash) + NUMSTOPS_FIELD_NUMBER;
        hash = (53 * hash) + getNumStops();
      }
      if (hasNumHardBrakes()) {
        hash = (37 * hash) + NUMHARDBRAKES_FIELD_NUMBER;
        hash = (53 * hash) + getNumHardBrakes();
      }
      if (hasMaintenanceSts()) {
        hash = (37 * hash) + MAINTENANCESTS_FIELD_NUMBER;
        hash = (53 * hash) + maintenanceSts_;
      }
      if (hasVrcUploadDayOfMonth()) {
        hash = (37 * hash) + VRCUPLOADDAYOFMONTH_FIELD_NUMBER;
        hash = (53 * hash) + getVrcUploadDayOfMonth();
      }
      if (hasVrcUploadTimeStamp()) {
        hash = (37 * hash) + VRCUPLOADTIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getVrcUploadTimeStamp());
      }
      if (hasEngineRunTime()) {
        hash = (37 * hash) + ENGINERUNTIME_FIELD_NUMBER;
        hash = (53 * hash) + getEngineRunTime();
      }
      if (hasAvgFuelEconomy()) {
        hash = (37 * hash) + AVGFUELECONOMY_FIELD_NUMBER;
        hash = (53 * hash) + getAvgFuelEconomy();
      }
      if (hasBatteryVoltage()) {
        hash = (37 * hash) + BATTERYVOLTAGE_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getBatteryVoltage());
      }
      if (hasDistanceUnit()) {
        hash = (37 * hash) + DISTANCEUNIT_FIELD_NUMBER;
        hash = (53 * hash) + distanceUnit_;
      }
      if (hasIsRunFlatTireLow()) {
        hash = (37 * hash) + ISRUNFLATTIRELOW_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsRunFlatTireLow());
      }
      if (hasGasRange()) {
        hash = (37 * hash) + GASRANGE_FIELD_NUMBER;
        hash = (53 * hash) + getGasRange();
      }
      if (hasTripAKMPL()) {
        hash = (37 * hash) + TRIPAKMPL_FIELD_NUMBER;
        hash = (53 * hash) + getTripAKMPL();
      }
      if (hasTripAMPG()) {
        hash = (37 * hash) + TRIPAMPG_FIELD_NUMBER;
        hash = (53 * hash) + getTripAMPG();
      }
      if (hasTripBKMPL()) {
        hash = (37 * hash) + TRIPBKMPL_FIELD_NUMBER;
        hash = (53 * hash) + getTripBKMPL();
      }
      if (hasTripBMPG()) {
        hash = (37 * hash) + TRIPBMPG_FIELD_NUMBER;
        hash = (53 * hash) + getTripBMPG();
      }
      if (hasTripATotalDistKM()) {
        hash = (37 * hash) + TRIPATOTALDISTKM_FIELD_NUMBER;
        hash = (53 * hash) + getTripATotalDistKM();
      }
      if (hasTripATotalDistMiles()) {
        hash = (37 * hash) + TRIPATOTALDISTMILES_FIELD_NUMBER;
        hash = (53 * hash) + getTripATotalDistMiles();
      }
      if (hasTripBTotalDistKM()) {
        hash = (37 * hash) + TRIPBTOTALDISTKM_FIELD_NUMBER;
        hash = (53 * hash) + getTripBTotalDistKM();
      }
      if (hasTripBTotalDistMiles()) {
        hash = (37 * hash) + TRIPBTOTALDISTMILES_FIELD_NUMBER;
        hash = (53 * hash) + getTripBTotalDistMiles();
      }
      if (hasVehicleSpeed()) {
        hash = (37 * hash) + VEHICLESPEED_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getVehicleSpeed());
      }
      if (hasAmbientAvgTemperature()) {
        hash = (37 * hash) + AMBIENTAVGTEMPERATURE_FIELD_NUMBER;
        hash = (53 * hash) + getAmbientAvgTemperature();
      }
      if (hasDpfDEFWarning()) {
        hash = (37 * hash) + DPFDEFWARNING_FIELD_NUMBER;
        hash = (53 * hash) + getDpfDEFWarning();
      }
      if (hasBrakeLampIndicatorSts()) {
        hash = (37 * hash) + BRAKELAMPINDICATORSTS_FIELD_NUMBER;
        hash = (53 * hash) + brakeLampIndicatorSts_;
      }
      if (hasTxTempExcess()) {
        hash = (37 * hash) + TXTEMP_EXCESS_FIELD_NUMBER;
        hash = (53 * hash) + getTxTempExcess().hashCode();
      }
      if (hasPFW()) {
        hash = (37 * hash) + PFW_FIELD_NUMBER;
        hash = (53 * hash) + getPFW().hashCode();
      }
      if (hasIBSIBATT()) {
        hash = (37 * hash) + IBS_I_BATT_FIELD_NUMBER;
        hash = (53 * hash) + getIBSIBATT();
      }
      if (hasIBSTBATT()) {
        hash = (37 * hash) + IBS_T_BATT_FIELD_NUMBER;
        hash = (53 * hash) + getIBSTBATT();
      }
      if (hasIBSVBATT()) {
        hash = (37 * hash) + IBS_V_BATT_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getIBSVBATT());
      }
      if (hasEtcLmpIndSts()) {
        hash = (37 * hash) + ETCLMPINDSTS_FIELD_NUMBER;
        hash = (53 * hash) + etcLmpIndSts_;
      }
      if (hasIsEngineOilLampOn()) {
        hash = (37 * hash) + ISENGINEOILLAMPON_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsEngineOilLampOn());
      }
      if (hasOilTempIndicatorRq()) {
        hash = (37 * hash) + OILTEMPINDICATORRQ_FIELD_NUMBER;
        hash = (53 * hash) + getOilTempIndicatorRq();
      }
      if (hasAbsLampSts()) {
        hash = (37 * hash) + ABSLAMPSTS_FIELD_NUMBER;
        hash = (53 * hash) + absLampSts_;
      }
      if (hasSrsIndLmpSts()) {
        hash = (37 * hash) + SRSINDLMPSTS_FIELD_NUMBER;
        hash = (53 * hash) + srsIndLmpSts_;
      }
      if (hasOilPressure()) {
        hash = (37 * hash) + OILPRESSURE_FIELD_NUMBER;
        hash = (53 * hash) + getOilPressure();
      }
      if (hasSrsLmpSts()) {
        hash = (37 * hash) + SRSLMPSTS_FIELD_NUMBER;
        hash = (53 * hash) + srsLmpSts_;
      }
      if (hasWtrFuelIndLmpSts()) {
        hash = (37 * hash) + WTRFUELINDLMPSTS_FIELD_NUMBER;
        hash = (53 * hash) + wtrFuelIndLmpSts_;
      }
      if (hasVcFuelCapacity()) {
        hash = (37 * hash) + VCFUELCAPACITY_FIELD_NUMBER;
        hash = (53 * hash) + getVcFuelCapacity();
      }
      if (hasIsBSMOPRSTAT()) {
        hash = (37 * hash) + ISBSM_OPR_STAT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsBSMOPRSTAT());
      }
      if (hasAvgFuelLvl()) {
        hash = (37 * hash) + AVGFUELLVL_FIELD_NUMBER;
        hash = (53 * hash) + getAvgFuelLvl();
      }
      if (hasEpsWarnDispRq()) {
        hash = (37 * hash) + EPSWARNDISPRQ_FIELD_NUMBER;
        hash = (53 * hash) + epsWarnDispRq_;
      }
      if (hasEscCntrlLmpSts()) {
        hash = (37 * hash) + ESCCNTRLLMPSTS_FIELD_NUMBER;
        hash = (53 * hash) + escCntrlLmpSts_;
      }
      if (hasIsPTSFTSRV()) {
        hash = (37 * hash) + ISPTS_FT_SRV_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsPTSFTSRV());
      }
      if (hasIsPTSRRSRV()) {
        hash = (37 * hash) + ISPTS_RR_SRV_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsPTSRRSRV());
      }
      if (hasIsADSSrvSys()) {
        hash = (37 * hash) + ISADS_SRVSYS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsADSSrvSys());
      }
      if (hasIsACCFaulted()) {
        hash = (37 * hash) + ISACCFAULTED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsACCFaulted());
      }
      if (hasIsACCOnlyNADASMSSts()) {
        hash = (37 * hash) + ISACCONLYNA_DASMSSTS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsACCOnlyNADASMSSts());
      }
      if (hasMapRequestCd()) {
        hash = (37 * hash) + MAPREQUESTCD_FIELD_NUMBER;
        hash = (53 * hash) + getMapRequestCd().hashCode();
      }
      if (hasIsNavigationActivated()) {
        hash = (37 * hash) + ISNAVIGATIONACTIVATED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsNavigationActivated());
      }
      if (hasIsSPLmpFault()) {
        hash = (37 * hash) + ISSPLMPFAULT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsSPLmpFault());
      }
      if (hasAEVMiles()) {
        hash = (37 * hash) + A_EV_MILES_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getAEVMiles());
      }
      if (hasAEVKilometers()) {
        hash = (37 * hash) + A_EV_KILOMETERS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getAEVKilometers());
      }
      if (hasAHybridMiles()) {
        hash = (37 * hash) + A_HYBRID_MILES_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getAHybridMiles());
      }
      if (hasAHybridKilometers()) {
        hash = (37 * hash) + A_HYBRID_KILOMETERS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getAHybridKilometers());
      }
      if (hasBEVMiles()) {
        hash = (37 * hash) + B_EV_MILES_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getBEVMiles());
      }
      if (hasBEVKilometers()) {
        hash = (37 * hash) + B_EV_KILOMETERS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getBEVKilometers());
      }
      if (hasBHybridMiles()) {
        hash = (37 * hash) + B_HYBRID_MILES_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getBHybridMiles());
      }
      if (hasBHybridKilometers()) {
        hash = (37 * hash) + B_HYBRID_KILOMETERS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getBHybridKilometers());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     **
     * This message is to define Key Vehicle Information which includes vehicleConfiguration parameters  and parameters that are monitored continuously
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.VehicleData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.VehicleData)
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_VehicleData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_VehicleData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getTirePressureFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        oDO_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        distanceToService_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        isAutoOilChgReq_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        oilLifeLeft_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        iBSSOC_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        travelingTimeAPlusHour_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        travelingTimeAPlusMinute_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        if (tirePressureBuilder_ == null) {
          tirePressure_ = null;
        } else {
          tirePressureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        isMILOnRq_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        isGlowPlugs_ = false;
        bitField0_ = (bitField0_ & ~0x00000200);
        isLHTurnLightFault_ = false;
        bitField0_ = (bitField0_ & ~0x00000400);
        isRGTurnLightFault_ = false;
        bitField0_ = (bitField0_ & ~0x00000800);
        isPlateLmpFault_ = false;
        bitField0_ = (bitField0_ & ~0x00001000);
        isDRLFault_ = false;
        bitField0_ = (bitField0_ & ~0x00002000);
        isFuelLevelLow_ = false;
        bitField0_ = (bitField0_ & ~0x00004000);
        isBatteryLampStsOn_ = false;
        bitField0_ = (bitField0_ & ~0x00008000);
        isChrgSystemFail_ = 0;
        bitField0_ = (bitField0_ & ~0x00010000);
        isFuelCapOpen_ = false;
        bitField0_ = (bitField0_ & ~0x00020000);
        isParkingFailSts_ = false;
        bitField0_ = (bitField0_ & ~0x00040000);
        isHillHolderFailSts_ = false;
        bitField0_ = (bitField0_ & ~0x00080000);
        isEBDLAMPFailSts_ = 0;
        bitField0_ = (bitField0_ & ~0x00100000);
        isTPMIndLmpOnRq_ = 0;
        bitField0_ = (bitField0_ & ~0x00200000);
        isBreakFluidLow_ = false;
        bitField0_ = (bitField0_ & ~0x00400000);
        isWashFluidLow_ = false;
        bitField0_ = (bitField0_ & ~0x00800000);
        isBSMServiceReqOn_ = false;
        bitField0_ = (bitField0_ & ~0x01000000);
        numStops_ = 0;
        bitField0_ = (bitField0_ & ~0x02000000);
        numHardBrakes_ = 0;
        bitField0_ = (bitField0_ & ~0x04000000);
        maintenanceSts_ = 0;
        bitField0_ = (bitField0_ & ~0x08000000);
        vrcUploadDayOfMonth_ = 0;
        bitField0_ = (bitField0_ & ~0x10000000);
        vrcUploadTimeStamp_ = 0L;
        bitField0_ = (bitField0_ & ~0x20000000);
        engineRunTime_ = 0;
        bitField0_ = (bitField0_ & ~0x40000000);
        avgFuelEconomy_ = 0;
        bitField0_ = (bitField0_ & ~0x80000000);
        batteryVoltage_ = 0F;
        bitField1_ = (bitField1_ & ~0x00000001);
        distanceUnit_ = 0;
        bitField1_ = (bitField1_ & ~0x00000002);
        isRunFlatTireLow_ = false;
        bitField1_ = (bitField1_ & ~0x00000004);
        gasRange_ = 0;
        bitField1_ = (bitField1_ & ~0x00000008);
        tripAKMPL_ = 0;
        bitField1_ = (bitField1_ & ~0x00000010);
        tripAMPG_ = 0;
        bitField1_ = (bitField1_ & ~0x00000020);
        tripBKMPL_ = 0;
        bitField1_ = (bitField1_ & ~0x00000040);
        tripBMPG_ = 0;
        bitField1_ = (bitField1_ & ~0x00000080);
        tripATotalDistKM_ = 0;
        bitField1_ = (bitField1_ & ~0x00000100);
        tripATotalDistMiles_ = 0;
        bitField1_ = (bitField1_ & ~0x00000200);
        tripBTotalDistKM_ = 0;
        bitField1_ = (bitField1_ & ~0x00000400);
        tripBTotalDistMiles_ = 0;
        bitField1_ = (bitField1_ & ~0x00000800);
        vehicleSpeed_ = 0F;
        bitField1_ = (bitField1_ & ~0x00001000);
        ambientAvgTemperature_ = 0;
        bitField1_ = (bitField1_ & ~0x00002000);
        dpfDEFWarning_ = 0;
        bitField1_ = (bitField1_ & ~0x00004000);
        brakeLampIndicatorSts_ = 0;
        bitField1_ = (bitField1_ & ~0x00008000);
        txTempExcess_ = "";
        bitField1_ = (bitField1_ & ~0x00010000);
        pFW_ = "";
        bitField1_ = (bitField1_ & ~0x00020000);
        iBSIBATT_ = 0;
        bitField1_ = (bitField1_ & ~0x00040000);
        iBSTBATT_ = 0;
        bitField1_ = (bitField1_ & ~0x00080000);
        iBSVBATT_ = 0F;
        bitField1_ = (bitField1_ & ~0x00100000);
        etcLmpIndSts_ = 0;
        bitField1_ = (bitField1_ & ~0x00200000);
        isEngineOilLampOn_ = false;
        bitField1_ = (bitField1_ & ~0x00400000);
        oilTempIndicatorRq_ = 0;
        bitField1_ = (bitField1_ & ~0x00800000);
        absLampSts_ = 0;
        bitField1_ = (bitField1_ & ~0x01000000);
        srsIndLmpSts_ = 0;
        bitField1_ = (bitField1_ & ~0x02000000);
        oilPressure_ = 0;
        bitField1_ = (bitField1_ & ~0x04000000);
        srsLmpSts_ = 0;
        bitField1_ = (bitField1_ & ~0x08000000);
        wtrFuelIndLmpSts_ = 0;
        bitField1_ = (bitField1_ & ~0x10000000);
        vcFuelCapacity_ = 0;
        bitField1_ = (bitField1_ & ~0x20000000);
        isBSMOPRSTAT_ = false;
        bitField1_ = (bitField1_ & ~0x40000000);
        avgFuelLvl_ = 0;
        bitField1_ = (bitField1_ & ~0x80000000);
        epsWarnDispRq_ = 0;
        bitField2_ = (bitField2_ & ~0x00000001);
        escCntrlLmpSts_ = 0;
        bitField2_ = (bitField2_ & ~0x00000002);
        isPTSFTSRV_ = false;
        bitField2_ = (bitField2_ & ~0x00000004);
        isPTSRRSRV_ = false;
        bitField2_ = (bitField2_ & ~0x00000008);
        isADSSrvSys_ = false;
        bitField2_ = (bitField2_ & ~0x00000010);
        isACCFaulted_ = false;
        bitField2_ = (bitField2_ & ~0x00000020);
        isACCOnlyNADASMSSts_ = false;
        bitField2_ = (bitField2_ & ~0x00000040);
        mapRequestCd_ = "";
        bitField2_ = (bitField2_ & ~0x00000080);
        isNavigationActivated_ = false;
        bitField2_ = (bitField2_ & ~0x00000100);
        isSPLmpFault_ = false;
        bitField2_ = (bitField2_ & ~0x00000200);
        aEVMiles_ = 0F;
        bitField2_ = (bitField2_ & ~0x00000400);
        aEVKilometers_ = 0F;
        bitField2_ = (bitField2_ & ~0x00000800);
        aHybridMiles_ = 0F;
        bitField2_ = (bitField2_ & ~0x00001000);
        aHybridKilometers_ = 0F;
        bitField2_ = (bitField2_ & ~0x00002000);
        bEVMiles_ = 0F;
        bitField2_ = (bitField2_ & ~0x00004000);
        bEVKilometers_ = 0F;
        bitField2_ = (bitField2_ & ~0x00008000);
        bHybridMiles_ = 0F;
        bitField2_ = (bitField2_ & ~0x00010000);
        bHybridKilometers_ = 0F;
        bitField2_ = (bitField2_ & ~0x00020000);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_VehicleData_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData build() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData(this);
        int from_bitField0_ = bitField0_;
        int from_bitField1_ = bitField1_;
        int from_bitField2_ = bitField2_;
        int to_bitField0_ = 0;
        int to_bitField1_ = 0;
        int to_bitField2_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.oDO_ = oDO_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.distanceToService_ = distanceToService_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isAutoOilChgReq_ = isAutoOilChgReq_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.oilLifeLeft_ = oilLifeLeft_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.iBSSOC_ = iBSSOC_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.travelingTimeAPlusHour_ = travelingTimeAPlusHour_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.travelingTimeAPlusMinute_ = travelingTimeAPlusMinute_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (tirePressureBuilder_ == null) {
          result.tirePressure_ = tirePressure_;
        } else {
          result.tirePressure_ = tirePressureBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.isMILOnRq_ = isMILOnRq_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.isGlowPlugs_ = isGlowPlugs_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.isLHTurnLightFault_ = isLHTurnLightFault_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.isRGTurnLightFault_ = isRGTurnLightFault_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.isPlateLmpFault_ = isPlateLmpFault_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.isDRLFault_ = isDRLFault_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.isFuelLevelLow_ = isFuelLevelLow_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.isBatteryLampStsOn_ = isBatteryLampStsOn_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.isChrgSystemFail_ = isChrgSystemFail_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.isFuelCapOpen_ = isFuelCapOpen_;
        if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.isParkingFailSts_ = isParkingFailSts_;
        if (((from_bitField0_ & 0x00080000) == 0x00080000)) {
          to_bitField0_ |= 0x00080000;
        }
        result.isHillHolderFailSts_ = isHillHolderFailSts_;
        if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
          to_bitField0_ |= 0x00100000;
        }
        result.isEBDLAMPFailSts_ = isEBDLAMPFailSts_;
        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
          to_bitField0_ |= 0x00200000;
        }
        result.isTPMIndLmpOnRq_ = isTPMIndLmpOnRq_;
        if (((from_bitField0_ & 0x00400000) == 0x00400000)) {
          to_bitField0_ |= 0x00400000;
        }
        result.isBreakFluidLow_ = isBreakFluidLow_;
        if (((from_bitField0_ & 0x00800000) == 0x00800000)) {
          to_bitField0_ |= 0x00800000;
        }
        result.isWashFluidLow_ = isWashFluidLow_;
        if (((from_bitField0_ & 0x01000000) == 0x01000000)) {
          to_bitField0_ |= 0x01000000;
        }
        result.isBSMServiceReqOn_ = isBSMServiceReqOn_;
        if (((from_bitField0_ & 0x02000000) == 0x02000000)) {
          to_bitField0_ |= 0x02000000;
        }
        result.numStops_ = numStops_;
        if (((from_bitField0_ & 0x04000000) == 0x04000000)) {
          to_bitField0_ |= 0x04000000;
        }
        result.numHardBrakes_ = numHardBrakes_;
        if (((from_bitField0_ & 0x08000000) == 0x08000000)) {
          to_bitField0_ |= 0x08000000;
        }
        result.maintenanceSts_ = maintenanceSts_;
        if (((from_bitField0_ & 0x10000000) == 0x10000000)) {
          to_bitField0_ |= 0x10000000;
        }
        result.vrcUploadDayOfMonth_ = vrcUploadDayOfMonth_;
        if (((from_bitField0_ & 0x20000000) == 0x20000000)) {
          to_bitField0_ |= 0x20000000;
        }
        result.vrcUploadTimeStamp_ = vrcUploadTimeStamp_;
        if (((from_bitField0_ & 0x40000000) == 0x40000000)) {
          to_bitField0_ |= 0x40000000;
        }
        result.engineRunTime_ = engineRunTime_;
        if (((from_bitField0_ & 0x80000000) == 0x80000000)) {
          to_bitField0_ |= 0x80000000;
        }
        result.avgFuelEconomy_ = avgFuelEconomy_;
        if (((from_bitField1_ & 0x00000001) == 0x00000001)) {
          to_bitField1_ |= 0x00000001;
        }
        result.batteryVoltage_ = batteryVoltage_;
        if (((from_bitField1_ & 0x00000002) == 0x00000002)) {
          to_bitField1_ |= 0x00000002;
        }
        result.distanceUnit_ = distanceUnit_;
        if (((from_bitField1_ & 0x00000004) == 0x00000004)) {
          to_bitField1_ |= 0x00000004;
        }
        result.isRunFlatTireLow_ = isRunFlatTireLow_;
        if (((from_bitField1_ & 0x00000008) == 0x00000008)) {
          to_bitField1_ |= 0x00000008;
        }
        result.gasRange_ = gasRange_;
        if (((from_bitField1_ & 0x00000010) == 0x00000010)) {
          to_bitField1_ |= 0x00000010;
        }
        result.tripAKMPL_ = tripAKMPL_;
        if (((from_bitField1_ & 0x00000020) == 0x00000020)) {
          to_bitField1_ |= 0x00000020;
        }
        result.tripAMPG_ = tripAMPG_;
        if (((from_bitField1_ & 0x00000040) == 0x00000040)) {
          to_bitField1_ |= 0x00000040;
        }
        result.tripBKMPL_ = tripBKMPL_;
        if (((from_bitField1_ & 0x00000080) == 0x00000080)) {
          to_bitField1_ |= 0x00000080;
        }
        result.tripBMPG_ = tripBMPG_;
        if (((from_bitField1_ & 0x00000100) == 0x00000100)) {
          to_bitField1_ |= 0x00000100;
        }
        result.tripATotalDistKM_ = tripATotalDistKM_;
        if (((from_bitField1_ & 0x00000200) == 0x00000200)) {
          to_bitField1_ |= 0x00000200;
        }
        result.tripATotalDistMiles_ = tripATotalDistMiles_;
        if (((from_bitField1_ & 0x00000400) == 0x00000400)) {
          to_bitField1_ |= 0x00000400;
        }
        result.tripBTotalDistKM_ = tripBTotalDistKM_;
        if (((from_bitField1_ & 0x00000800) == 0x00000800)) {
          to_bitField1_ |= 0x00000800;
        }
        result.tripBTotalDistMiles_ = tripBTotalDistMiles_;
        if (((from_bitField1_ & 0x00001000) == 0x00001000)) {
          to_bitField1_ |= 0x00001000;
        }
        result.vehicleSpeed_ = vehicleSpeed_;
        if (((from_bitField1_ & 0x00002000) == 0x00002000)) {
          to_bitField1_ |= 0x00002000;
        }
        result.ambientAvgTemperature_ = ambientAvgTemperature_;
        if (((from_bitField1_ & 0x00004000) == 0x00004000)) {
          to_bitField1_ |= 0x00004000;
        }
        result.dpfDEFWarning_ = dpfDEFWarning_;
        if (((from_bitField1_ & 0x00008000) == 0x00008000)) {
          to_bitField1_ |= 0x00008000;
        }
        result.brakeLampIndicatorSts_ = brakeLampIndicatorSts_;
        if (((from_bitField1_ & 0x00010000) == 0x00010000)) {
          to_bitField1_ |= 0x00010000;
        }
        result.txTempExcess_ = txTempExcess_;
        if (((from_bitField1_ & 0x00020000) == 0x00020000)) {
          to_bitField1_ |= 0x00020000;
        }
        result.pFW_ = pFW_;
        if (((from_bitField1_ & 0x00040000) == 0x00040000)) {
          to_bitField1_ |= 0x00040000;
        }
        result.iBSIBATT_ = iBSIBATT_;
        if (((from_bitField1_ & 0x00080000) == 0x00080000)) {
          to_bitField1_ |= 0x00080000;
        }
        result.iBSTBATT_ = iBSTBATT_;
        if (((from_bitField1_ & 0x00100000) == 0x00100000)) {
          to_bitField1_ |= 0x00100000;
        }
        result.iBSVBATT_ = iBSVBATT_;
        if (((from_bitField1_ & 0x00200000) == 0x00200000)) {
          to_bitField1_ |= 0x00200000;
        }
        result.etcLmpIndSts_ = etcLmpIndSts_;
        if (((from_bitField1_ & 0x00400000) == 0x00400000)) {
          to_bitField1_ |= 0x00400000;
        }
        result.isEngineOilLampOn_ = isEngineOilLampOn_;
        if (((from_bitField1_ & 0x00800000) == 0x00800000)) {
          to_bitField1_ |= 0x00800000;
        }
        result.oilTempIndicatorRq_ = oilTempIndicatorRq_;
        if (((from_bitField1_ & 0x01000000) == 0x01000000)) {
          to_bitField1_ |= 0x01000000;
        }
        result.absLampSts_ = absLampSts_;
        if (((from_bitField1_ & 0x02000000) == 0x02000000)) {
          to_bitField1_ |= 0x02000000;
        }
        result.srsIndLmpSts_ = srsIndLmpSts_;
        if (((from_bitField1_ & 0x04000000) == 0x04000000)) {
          to_bitField1_ |= 0x04000000;
        }
        result.oilPressure_ = oilPressure_;
        if (((from_bitField1_ & 0x08000000) == 0x08000000)) {
          to_bitField1_ |= 0x08000000;
        }
        result.srsLmpSts_ = srsLmpSts_;
        if (((from_bitField1_ & 0x10000000) == 0x10000000)) {
          to_bitField1_ |= 0x10000000;
        }
        result.wtrFuelIndLmpSts_ = wtrFuelIndLmpSts_;
        if (((from_bitField1_ & 0x20000000) == 0x20000000)) {
          to_bitField1_ |= 0x20000000;
        }
        result.vcFuelCapacity_ = vcFuelCapacity_;
        if (((from_bitField1_ & 0x40000000) == 0x40000000)) {
          to_bitField1_ |= 0x40000000;
        }
        result.isBSMOPRSTAT_ = isBSMOPRSTAT_;
        if (((from_bitField1_ & 0x80000000) == 0x80000000)) {
          to_bitField1_ |= 0x80000000;
        }
        result.avgFuelLvl_ = avgFuelLvl_;
        if (((from_bitField2_ & 0x00000001) == 0x00000001)) {
          to_bitField2_ |= 0x00000001;
        }
        result.epsWarnDispRq_ = epsWarnDispRq_;
        if (((from_bitField2_ & 0x00000002) == 0x00000002)) {
          to_bitField2_ |= 0x00000002;
        }
        result.escCntrlLmpSts_ = escCntrlLmpSts_;
        if (((from_bitField2_ & 0x00000004) == 0x00000004)) {
          to_bitField2_ |= 0x00000004;
        }
        result.isPTSFTSRV_ = isPTSFTSRV_;
        if (((from_bitField2_ & 0x00000008) == 0x00000008)) {
          to_bitField2_ |= 0x00000008;
        }
        result.isPTSRRSRV_ = isPTSRRSRV_;
        if (((from_bitField2_ & 0x00000010) == 0x00000010)) {
          to_bitField2_ |= 0x00000010;
        }
        result.isADSSrvSys_ = isADSSrvSys_;
        if (((from_bitField2_ & 0x00000020) == 0x00000020)) {
          to_bitField2_ |= 0x00000020;
        }
        result.isACCFaulted_ = isACCFaulted_;
        if (((from_bitField2_ & 0x00000040) == 0x00000040)) {
          to_bitField2_ |= 0x00000040;
        }
        result.isACCOnlyNADASMSSts_ = isACCOnlyNADASMSSts_;
        if (((from_bitField2_ & 0x00000080) == 0x00000080)) {
          to_bitField2_ |= 0x00000080;
        }
        result.mapRequestCd_ = mapRequestCd_;
        if (((from_bitField2_ & 0x00000100) == 0x00000100)) {
          to_bitField2_ |= 0x00000100;
        }
        result.isNavigationActivated_ = isNavigationActivated_;
        if (((from_bitField2_ & 0x00000200) == 0x00000200)) {
          to_bitField2_ |= 0x00000200;
        }
        result.isSPLmpFault_ = isSPLmpFault_;
        if (((from_bitField2_ & 0x00000400) == 0x00000400)) {
          to_bitField2_ |= 0x00000400;
        }
        result.aEVMiles_ = aEVMiles_;
        if (((from_bitField2_ & 0x00000800) == 0x00000800)) {
          to_bitField2_ |= 0x00000800;
        }
        result.aEVKilometers_ = aEVKilometers_;
        if (((from_bitField2_ & 0x00001000) == 0x00001000)) {
          to_bitField2_ |= 0x00001000;
        }
        result.aHybridMiles_ = aHybridMiles_;
        if (((from_bitField2_ & 0x00002000) == 0x00002000)) {
          to_bitField2_ |= 0x00002000;
        }
        result.aHybridKilometers_ = aHybridKilometers_;
        if (((from_bitField2_ & 0x00004000) == 0x00004000)) {
          to_bitField2_ |= 0x00004000;
        }
        result.bEVMiles_ = bEVMiles_;
        if (((from_bitField2_ & 0x00008000) == 0x00008000)) {
          to_bitField2_ |= 0x00008000;
        }
        result.bEVKilometers_ = bEVKilometers_;
        if (((from_bitField2_ & 0x00010000) == 0x00010000)) {
          to_bitField2_ |= 0x00010000;
        }
        result.bHybridMiles_ = bHybridMiles_;
        if (((from_bitField2_ & 0x00020000) == 0x00020000)) {
          to_bitField2_ |= 0x00020000;
        }
        result.bHybridKilometers_ = bHybridKilometers_;
        result.bitField0_ = to_bitField0_;
        result.bitField1_ = to_bitField1_;
        result.bitField2_ = to_bitField2_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance()) return this;
        if (other.hasODO()) {
          setODO(other.getODO());
        }
        if (other.hasDistanceToService()) {
          setDistanceToService(other.getDistanceToService());
        }
        if (other.hasIsAutoOilChgReq()) {
          setIsAutoOilChgReq(other.getIsAutoOilChgReq());
        }
        if (other.hasOilLifeLeft()) {
          setOilLifeLeft(other.getOilLifeLeft());
        }
        if (other.hasIBSSOC()) {
          setIBSSOC(other.getIBSSOC());
        }
        if (other.hasTravelingTimeAPlusHour()) {
          setTravelingTimeAPlusHour(other.getTravelingTimeAPlusHour());
        }
        if (other.hasTravelingTimeAPlusMinute()) {
          setTravelingTimeAPlusMinute(other.getTravelingTimeAPlusMinute());
        }
        if (other.hasTirePressure()) {
          mergeTirePressure(other.getTirePressure());
        }
        if (other.hasIsMILOnRq()) {
          setIsMILOnRq(other.getIsMILOnRq());
        }
        if (other.hasIsGlowPlugs()) {
          setIsGlowPlugs(other.getIsGlowPlugs());
        }
        if (other.hasIsLHTurnLightFault()) {
          setIsLHTurnLightFault(other.getIsLHTurnLightFault());
        }
        if (other.hasIsRGTurnLightFault()) {
          setIsRGTurnLightFault(other.getIsRGTurnLightFault());
        }
        if (other.hasIsPlateLmpFault()) {
          setIsPlateLmpFault(other.getIsPlateLmpFault());
        }
        if (other.hasIsDRLFault()) {
          setIsDRLFault(other.getIsDRLFault());
        }
        if (other.hasIsFuelLevelLow()) {
          setIsFuelLevelLow(other.getIsFuelLevelLow());
        }
        if (other.hasIsBatteryLampStsOn()) {
          setIsBatteryLampStsOn(other.getIsBatteryLampStsOn());
        }
        if (other.hasIsChrgSystemFail()) {
          setIsChrgSystemFail(other.getIsChrgSystemFail());
        }
        if (other.hasIsFuelCapOpen()) {
          setIsFuelCapOpen(other.getIsFuelCapOpen());
        }
        if (other.hasIsParkingFailSts()) {
          setIsParkingFailSts(other.getIsParkingFailSts());
        }
        if (other.hasIsHillHolderFailSts()) {
          setIsHillHolderFailSts(other.getIsHillHolderFailSts());
        }
        if (other.hasIsEBDLAMPFailSts()) {
          setIsEBDLAMPFailSts(other.getIsEBDLAMPFailSts());
        }
        if (other.hasIsTPMIndLmpOnRq()) {
          setIsTPMIndLmpOnRq(other.getIsTPMIndLmpOnRq());
        }
        if (other.hasIsBreakFluidLow()) {
          setIsBreakFluidLow(other.getIsBreakFluidLow());
        }
        if (other.hasIsWashFluidLow()) {
          setIsWashFluidLow(other.getIsWashFluidLow());
        }
        if (other.hasIsBSMServiceReqOn()) {
          setIsBSMServiceReqOn(other.getIsBSMServiceReqOn());
        }
        if (other.hasNumStops()) {
          setNumStops(other.getNumStops());
        }
        if (other.hasNumHardBrakes()) {
          setNumHardBrakes(other.getNumHardBrakes());
        }
        if (other.hasMaintenanceSts()) {
          setMaintenanceSts(other.getMaintenanceSts());
        }
        if (other.hasVrcUploadDayOfMonth()) {
          setVrcUploadDayOfMonth(other.getVrcUploadDayOfMonth());
        }
        if (other.hasVrcUploadTimeStamp()) {
          setVrcUploadTimeStamp(other.getVrcUploadTimeStamp());
        }
        if (other.hasEngineRunTime()) {
          setEngineRunTime(other.getEngineRunTime());
        }
        if (other.hasAvgFuelEconomy()) {
          setAvgFuelEconomy(other.getAvgFuelEconomy());
        }
        if (other.hasBatteryVoltage()) {
          setBatteryVoltage(other.getBatteryVoltage());
        }
        if (other.hasDistanceUnit()) {
          setDistanceUnit(other.getDistanceUnit());
        }
        if (other.hasIsRunFlatTireLow()) {
          setIsRunFlatTireLow(other.getIsRunFlatTireLow());
        }
        if (other.hasGasRange()) {
          setGasRange(other.getGasRange());
        }
        if (other.hasTripAKMPL()) {
          setTripAKMPL(other.getTripAKMPL());
        }
        if (other.hasTripAMPG()) {
          setTripAMPG(other.getTripAMPG());
        }
        if (other.hasTripBKMPL()) {
          setTripBKMPL(other.getTripBKMPL());
        }
        if (other.hasTripBMPG()) {
          setTripBMPG(other.getTripBMPG());
        }
        if (other.hasTripATotalDistKM()) {
          setTripATotalDistKM(other.getTripATotalDistKM());
        }
        if (other.hasTripATotalDistMiles()) {
          setTripATotalDistMiles(other.getTripATotalDistMiles());
        }
        if (other.hasTripBTotalDistKM()) {
          setTripBTotalDistKM(other.getTripBTotalDistKM());
        }
        if (other.hasTripBTotalDistMiles()) {
          setTripBTotalDistMiles(other.getTripBTotalDistMiles());
        }
        if (other.hasVehicleSpeed()) {
          setVehicleSpeed(other.getVehicleSpeed());
        }
        if (other.hasAmbientAvgTemperature()) {
          setAmbientAvgTemperature(other.getAmbientAvgTemperature());
        }
        if (other.hasDpfDEFWarning()) {
          setDpfDEFWarning(other.getDpfDEFWarning());
        }
        if (other.hasBrakeLampIndicatorSts()) {
          setBrakeLampIndicatorSts(other.getBrakeLampIndicatorSts());
        }
        if (other.hasTxTempExcess()) {
          bitField1_ |= 0x00010000;
          txTempExcess_ = other.txTempExcess_;
          onChanged();
        }
        if (other.hasPFW()) {
          bitField1_ |= 0x00020000;
          pFW_ = other.pFW_;
          onChanged();
        }
        if (other.hasIBSIBATT()) {
          setIBSIBATT(other.getIBSIBATT());
        }
        if (other.hasIBSTBATT()) {
          setIBSTBATT(other.getIBSTBATT());
        }
        if (other.hasIBSVBATT()) {
          setIBSVBATT(other.getIBSVBATT());
        }
        if (other.hasEtcLmpIndSts()) {
          setEtcLmpIndSts(other.getEtcLmpIndSts());
        }
        if (other.hasIsEngineOilLampOn()) {
          setIsEngineOilLampOn(other.getIsEngineOilLampOn());
        }
        if (other.hasOilTempIndicatorRq()) {
          setOilTempIndicatorRq(other.getOilTempIndicatorRq());
        }
        if (other.hasAbsLampSts()) {
          setAbsLampSts(other.getAbsLampSts());
        }
        if (other.hasSrsIndLmpSts()) {
          setSrsIndLmpSts(other.getSrsIndLmpSts());
        }
        if (other.hasOilPressure()) {
          setOilPressure(other.getOilPressure());
        }
        if (other.hasSrsLmpSts()) {
          setSrsLmpSts(other.getSrsLmpSts());
        }
        if (other.hasWtrFuelIndLmpSts()) {
          setWtrFuelIndLmpSts(other.getWtrFuelIndLmpSts());
        }
        if (other.hasVcFuelCapacity()) {
          setVcFuelCapacity(other.getVcFuelCapacity());
        }
        if (other.hasIsBSMOPRSTAT()) {
          setIsBSMOPRSTAT(other.getIsBSMOPRSTAT());
        }
        if (other.hasAvgFuelLvl()) {
          setAvgFuelLvl(other.getAvgFuelLvl());
        }
        if (other.hasEpsWarnDispRq()) {
          setEpsWarnDispRq(other.getEpsWarnDispRq());
        }
        if (other.hasEscCntrlLmpSts()) {
          setEscCntrlLmpSts(other.getEscCntrlLmpSts());
        }
        if (other.hasIsPTSFTSRV()) {
          setIsPTSFTSRV(other.getIsPTSFTSRV());
        }
        if (other.hasIsPTSRRSRV()) {
          setIsPTSRRSRV(other.getIsPTSRRSRV());
        }
        if (other.hasIsADSSrvSys()) {
          setIsADSSrvSys(other.getIsADSSrvSys());
        }
        if (other.hasIsACCFaulted()) {
          setIsACCFaulted(other.getIsACCFaulted());
        }
        if (other.hasIsACCOnlyNADASMSSts()) {
          setIsACCOnlyNADASMSSts(other.getIsACCOnlyNADASMSSts());
        }
        if (other.hasMapRequestCd()) {
          bitField2_ |= 0x00000080;
          mapRequestCd_ = other.mapRequestCd_;
          onChanged();
        }
        if (other.hasIsNavigationActivated()) {
          setIsNavigationActivated(other.getIsNavigationActivated());
        }
        if (other.hasIsSPLmpFault()) {
          setIsSPLmpFault(other.getIsSPLmpFault());
        }
        if (other.hasAEVMiles()) {
          setAEVMiles(other.getAEVMiles());
        }
        if (other.hasAEVKilometers()) {
          setAEVKilometers(other.getAEVKilometers());
        }
        if (other.hasAHybridMiles()) {
          setAHybridMiles(other.getAHybridMiles());
        }
        if (other.hasAHybridKilometers()) {
          setAHybridKilometers(other.getAHybridKilometers());
        }
        if (other.hasBEVMiles()) {
          setBEVMiles(other.getBEVMiles());
        }
        if (other.hasBEVKilometers()) {
          setBEVKilometers(other.getBEVKilometers());
        }
        if (other.hasBHybridMiles()) {
          setBHybridMiles(other.getBHybridMiles());
        }
        if (other.hasBHybridKilometers()) {
          setBHybridKilometers(other.getBHybridKilometers());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private int bitField1_;
      private int bitField2_;

      private int oDO_ ;
      /**
       * <code>optional int32 ODO = 2;</code>
       */
      public boolean hasODO() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 ODO = 2;</code>
       */
      public int getODO() {
        return oDO_;
      }
      /**
       * <code>optional int32 ODO = 2;</code>
       */
      public Builder setODO(int value) {
        bitField0_ |= 0x00000001;
        oDO_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 ODO = 2;</code>
       */
      public Builder clearODO() {
        bitField0_ = (bitField0_ & ~0x00000001);
        oDO_ = 0;
        onChanged();
        return this;
      }

      private float distanceToService_ ;
      /**
       * <pre>
       *&#47; Range 0 to 131071,  km or miles
       * </pre>
       *
       * <code>optional float distanceToService = 3;</code>
       */
      public boolean hasDistanceToService() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47; Range 0 to 131071,  km or miles
       * </pre>
       *
       * <code>optional float distanceToService = 3;</code>
       */
      public float getDistanceToService() {
        return distanceToService_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 131071,  km or miles
       * </pre>
       *
       * <code>optional float distanceToService = 3;</code>
       */
      public Builder setDistanceToService(float value) {
        bitField0_ |= 0x00000002;
        distanceToService_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 131071,  km or miles
       * </pre>
       *
       * <code>optional float distanceToService = 3;</code>
       */
      public Builder clearDistanceToService() {
        bitField0_ = (bitField0_ & ~0x00000002);
        distanceToService_ = 0F;
        onChanged();
        return this;
      }

      private boolean isAutoOilChgReq_ ;
      /**
       * <code>optional bool isAutoOilChgReq = 4;</code>
       */
      public boolean hasIsAutoOilChgReq() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool isAutoOilChgReq = 4;</code>
       */
      public boolean getIsAutoOilChgReq() {
        return isAutoOilChgReq_;
      }
      /**
       * <code>optional bool isAutoOilChgReq = 4;</code>
       */
      public Builder setIsAutoOilChgReq(boolean value) {
        bitField0_ |= 0x00000004;
        isAutoOilChgReq_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isAutoOilChgReq = 4;</code>
       */
      public Builder clearIsAutoOilChgReq() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isAutoOilChgReq_ = false;
        onChanged();
        return this;
      }

      private int oilLifeLeft_ ;
      /**
       * <code>optional int32 oilLifeLeft = 5;</code>
       */
      public boolean hasOilLifeLeft() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int32 oilLifeLeft = 5;</code>
       */
      public int getOilLifeLeft() {
        return oilLifeLeft_;
      }
      /**
       * <code>optional int32 oilLifeLeft = 5;</code>
       */
      public Builder setOilLifeLeft(int value) {
        bitField0_ |= 0x00000008;
        oilLifeLeft_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 oilLifeLeft = 5;</code>
       */
      public Builder clearOilLifeLeft() {
        bitField0_ = (bitField0_ & ~0x00000008);
        oilLifeLeft_ = 0;
        onChanged();
        return this;
      }

      private float iBSSOC_ ;
      /**
       * <code>optional float IBS_SOC = 6;</code>
       */
      public boolean hasIBSSOC() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional float IBS_SOC = 6;</code>
       */
      public float getIBSSOC() {
        return iBSSOC_;
      }
      /**
       * <code>optional float IBS_SOC = 6;</code>
       */
      public Builder setIBSSOC(float value) {
        bitField0_ |= 0x00000010;
        iBSSOC_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional float IBS_SOC = 6;</code>
       */
      public Builder clearIBSSOC() {
        bitField0_ = (bitField0_ & ~0x00000010);
        iBSSOC_ = 0F;
        onChanged();
        return this;
      }

      private int travelingTimeAPlusHour_ ;
      /**
       * <code>optional int32 travelingTimeAPlusHour = 7;</code>
       */
      public boolean hasTravelingTimeAPlusHour() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional int32 travelingTimeAPlusHour = 7;</code>
       */
      public int getTravelingTimeAPlusHour() {
        return travelingTimeAPlusHour_;
      }
      /**
       * <code>optional int32 travelingTimeAPlusHour = 7;</code>
       */
      public Builder setTravelingTimeAPlusHour(int value) {
        bitField0_ |= 0x00000020;
        travelingTimeAPlusHour_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 travelingTimeAPlusHour = 7;</code>
       */
      public Builder clearTravelingTimeAPlusHour() {
        bitField0_ = (bitField0_ & ~0x00000020);
        travelingTimeAPlusHour_ = 0;
        onChanged();
        return this;
      }

      private int travelingTimeAPlusMinute_ ;
      /**
       * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
       */
      public boolean hasTravelingTimeAPlusMinute() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
       */
      public int getTravelingTimeAPlusMinute() {
        return travelingTimeAPlusMinute_;
      }
      /**
       * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
       */
      public Builder setTravelingTimeAPlusMinute(int value) {
        bitField0_ |= 0x00000040;
        travelingTimeAPlusMinute_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 travelingTimeAPlusMinute = 8;</code>
       */
      public Builder clearTravelingTimeAPlusMinute() {
        bitField0_ = (bitField0_ & ~0x00000040);
        travelingTimeAPlusMinute_ = 0;
        onChanged();
        return this;
      }

      private com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure tirePressure_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder> tirePressureBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public boolean hasTirePressure() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure() {
        if (tirePressureBuilder_ == null) {
          return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
        } else {
          return tirePressureBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public Builder setTirePressure(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure value) {
        if (tirePressureBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          tirePressure_ = value;
          onChanged();
        } else {
          tirePressureBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public Builder setTirePressure(
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder builderForValue) {
        if (tirePressureBuilder_ == null) {
          tirePressure_ = builderForValue.build();
          onChanged();
        } else {
          tirePressureBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public Builder mergeTirePressure(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure value) {
        if (tirePressureBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              tirePressure_ != null &&
              tirePressure_ != com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance()) {
            tirePressure_ =
              com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.newBuilder(tirePressure_).mergeFrom(value).buildPartial();
          } else {
            tirePressure_ = value;
          }
          onChanged();
        } else {
          tirePressureBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public Builder clearTirePressure() {
        if (tirePressureBuilder_ == null) {
          tirePressure_ = null;
          onChanged();
        } else {
          tirePressureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder getTirePressureBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getTirePressureFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder() {
        if (tirePressureBuilder_ != null) {
          return tirePressureBuilder_.getMessageOrBuilder();
        } else {
          return tirePressure_ == null ?
              com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder> 
          getTirePressureFieldBuilder() {
        if (tirePressureBuilder_ == null) {
          tirePressureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder>(
                  getTirePressure(),
                  getParentForChildren(),
                  isClean());
          tirePressure_ = null;
        }
        return tirePressureBuilder_;
      }

      private boolean isMILOnRq_ ;
      /**
       * <code>optional bool isMILOnRq = 10;</code>
       */
      public boolean hasIsMILOnRq() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional bool isMILOnRq = 10;</code>
       */
      public boolean getIsMILOnRq() {
        return isMILOnRq_;
      }
      /**
       * <code>optional bool isMILOnRq = 10;</code>
       */
      public Builder setIsMILOnRq(boolean value) {
        bitField0_ |= 0x00000100;
        isMILOnRq_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isMILOnRq = 10;</code>
       */
      public Builder clearIsMILOnRq() {
        bitField0_ = (bitField0_ & ~0x00000100);
        isMILOnRq_ = false;
        onChanged();
        return this;
      }

      private boolean isGlowPlugs_ ;
      /**
       * <code>optional bool isGlowPlugs = 11;</code>
       */
      public boolean hasIsGlowPlugs() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional bool isGlowPlugs = 11;</code>
       */
      public boolean getIsGlowPlugs() {
        return isGlowPlugs_;
      }
      /**
       * <code>optional bool isGlowPlugs = 11;</code>
       */
      public Builder setIsGlowPlugs(boolean value) {
        bitField0_ |= 0x00000200;
        isGlowPlugs_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isGlowPlugs = 11;</code>
       */
      public Builder clearIsGlowPlugs() {
        bitField0_ = (bitField0_ & ~0x00000200);
        isGlowPlugs_ = false;
        onChanged();
        return this;
      }

      private boolean isLHTurnLightFault_ ;
      /**
       * <code>optional bool isLHTurnLightFault = 12;</code>
       */
      public boolean hasIsLHTurnLightFault() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional bool isLHTurnLightFault = 12;</code>
       */
      public boolean getIsLHTurnLightFault() {
        return isLHTurnLightFault_;
      }
      /**
       * <code>optional bool isLHTurnLightFault = 12;</code>
       */
      public Builder setIsLHTurnLightFault(boolean value) {
        bitField0_ |= 0x00000400;
        isLHTurnLightFault_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isLHTurnLightFault = 12;</code>
       */
      public Builder clearIsLHTurnLightFault() {
        bitField0_ = (bitField0_ & ~0x00000400);
        isLHTurnLightFault_ = false;
        onChanged();
        return this;
      }

      private boolean isRGTurnLightFault_ ;
      /**
       * <code>optional bool isRGTurnLightFault = 13;</code>
       */
      public boolean hasIsRGTurnLightFault() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional bool isRGTurnLightFault = 13;</code>
       */
      public boolean getIsRGTurnLightFault() {
        return isRGTurnLightFault_;
      }
      /**
       * <code>optional bool isRGTurnLightFault = 13;</code>
       */
      public Builder setIsRGTurnLightFault(boolean value) {
        bitField0_ |= 0x00000800;
        isRGTurnLightFault_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isRGTurnLightFault = 13;</code>
       */
      public Builder clearIsRGTurnLightFault() {
        bitField0_ = (bitField0_ & ~0x00000800);
        isRGTurnLightFault_ = false;
        onChanged();
        return this;
      }

      private boolean isPlateLmpFault_ ;
      /**
       * <code>optional bool isPlateLmpFault = 14;</code>
       */
      public boolean hasIsPlateLmpFault() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <code>optional bool isPlateLmpFault = 14;</code>
       */
      public boolean getIsPlateLmpFault() {
        return isPlateLmpFault_;
      }
      /**
       * <code>optional bool isPlateLmpFault = 14;</code>
       */
      public Builder setIsPlateLmpFault(boolean value) {
        bitField0_ |= 0x00001000;
        isPlateLmpFault_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isPlateLmpFault = 14;</code>
       */
      public Builder clearIsPlateLmpFault() {
        bitField0_ = (bitField0_ & ~0x00001000);
        isPlateLmpFault_ = false;
        onChanged();
        return this;
      }

      private boolean isDRLFault_ ;
      /**
       * <code>optional bool isDRLFault = 15;</code>
       */
      public boolean hasIsDRLFault() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * <code>optional bool isDRLFault = 15;</code>
       */
      public boolean getIsDRLFault() {
        return isDRLFault_;
      }
      /**
       * <code>optional bool isDRLFault = 15;</code>
       */
      public Builder setIsDRLFault(boolean value) {
        bitField0_ |= 0x00002000;
        isDRLFault_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isDRLFault = 15;</code>
       */
      public Builder clearIsDRLFault() {
        bitField0_ = (bitField0_ & ~0x00002000);
        isDRLFault_ = false;
        onChanged();
        return this;
      }

      private boolean isFuelLevelLow_ ;
      /**
       * <code>optional bool isFuelLevelLow = 16;</code>
       */
      public boolean hasIsFuelLevelLow() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * <code>optional bool isFuelLevelLow = 16;</code>
       */
      public boolean getIsFuelLevelLow() {
        return isFuelLevelLow_;
      }
      /**
       * <code>optional bool isFuelLevelLow = 16;</code>
       */
      public Builder setIsFuelLevelLow(boolean value) {
        bitField0_ |= 0x00004000;
        isFuelLevelLow_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isFuelLevelLow = 16;</code>
       */
      public Builder clearIsFuelLevelLow() {
        bitField0_ = (bitField0_ & ~0x00004000);
        isFuelLevelLow_ = false;
        onChanged();
        return this;
      }

      private boolean isBatteryLampStsOn_ ;
      /**
       * <code>optional bool isBatteryLampStsOn = 17;</code>
       */
      public boolean hasIsBatteryLampStsOn() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * <code>optional bool isBatteryLampStsOn = 17;</code>
       */
      public boolean getIsBatteryLampStsOn() {
        return isBatteryLampStsOn_;
      }
      /**
       * <code>optional bool isBatteryLampStsOn = 17;</code>
       */
      public Builder setIsBatteryLampStsOn(boolean value) {
        bitField0_ |= 0x00008000;
        isBatteryLampStsOn_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isBatteryLampStsOn = 17;</code>
       */
      public Builder clearIsBatteryLampStsOn() {
        bitField0_ = (bitField0_ & ~0x00008000);
        isBatteryLampStsOn_ = false;
        onChanged();
        return this;
      }

      private int isChrgSystemFail_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
       */
      public boolean hasIsChrgSystemFail() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum getIsChrgSystemFail() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum.valueOf(isChrgSystemFail_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum.FALSE : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
       */
      public Builder setIsChrgSystemFail(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.ChargeSystemFailEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00010000;
        isChrgSystemFail_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.ChargeSystemFailEnum isChrgSystemFail = 18;</code>
       */
      public Builder clearIsChrgSystemFail() {
        bitField0_ = (bitField0_ & ~0x00010000);
        isChrgSystemFail_ = 0;
        onChanged();
        return this;
      }

      private boolean isFuelCapOpen_ ;
      /**
       * <code>optional bool isFuelCapOpen = 19;</code>
       */
      public boolean hasIsFuelCapOpen() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * <code>optional bool isFuelCapOpen = 19;</code>
       */
      public boolean getIsFuelCapOpen() {
        return isFuelCapOpen_;
      }
      /**
       * <code>optional bool isFuelCapOpen = 19;</code>
       */
      public Builder setIsFuelCapOpen(boolean value) {
        bitField0_ |= 0x00020000;
        isFuelCapOpen_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isFuelCapOpen = 19;</code>
       */
      public Builder clearIsFuelCapOpen() {
        bitField0_ = (bitField0_ & ~0x00020000);
        isFuelCapOpen_ = false;
        onChanged();
        return this;
      }

      private boolean isParkingFailSts_ ;
      /**
       * <code>optional bool isParkingFailSts = 20;</code>
       */
      public boolean hasIsParkingFailSts() {
        return ((bitField0_ & 0x00040000) == 0x00040000);
      }
      /**
       * <code>optional bool isParkingFailSts = 20;</code>
       */
      public boolean getIsParkingFailSts() {
        return isParkingFailSts_;
      }
      /**
       * <code>optional bool isParkingFailSts = 20;</code>
       */
      public Builder setIsParkingFailSts(boolean value) {
        bitField0_ |= 0x00040000;
        isParkingFailSts_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isParkingFailSts = 20;</code>
       */
      public Builder clearIsParkingFailSts() {
        bitField0_ = (bitField0_ & ~0x00040000);
        isParkingFailSts_ = false;
        onChanged();
        return this;
      }

      private boolean isHillHolderFailSts_ ;
      /**
       * <code>optional bool isHillHolderFailSts = 21;</code>
       */
      public boolean hasIsHillHolderFailSts() {
        return ((bitField0_ & 0x00080000) == 0x00080000);
      }
      /**
       * <code>optional bool isHillHolderFailSts = 21;</code>
       */
      public boolean getIsHillHolderFailSts() {
        return isHillHolderFailSts_;
      }
      /**
       * <code>optional bool isHillHolderFailSts = 21;</code>
       */
      public Builder setIsHillHolderFailSts(boolean value) {
        bitField0_ |= 0x00080000;
        isHillHolderFailSts_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isHillHolderFailSts = 21;</code>
       */
      public Builder clearIsHillHolderFailSts() {
        bitField0_ = (bitField0_ & ~0x00080000);
        isHillHolderFailSts_ = false;
        onChanged();
        return this;
      }

      private int isEBDLAMPFailSts_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
       */
      public boolean hasIsEBDLAMPFailSts() {
        return ((bitField0_ & 0x00100000) == 0x00100000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsEBDLAMPFailSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(isEBDLAMPFailSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
       */
      public Builder setIsEBDLAMPFailSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00100000;
        isEBDLAMPFailSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isEBDLAMPFailSts = 22;</code>
       */
      public Builder clearIsEBDLAMPFailSts() {
        bitField0_ = (bitField0_ & ~0x00100000);
        isEBDLAMPFailSts_ = 0;
        onChanged();
        return this;
      }

      private int isTPMIndLmpOnRq_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
       */
      public boolean hasIsTPMIndLmpOnRq() {
        return ((bitField0_ & 0x00200000) == 0x00200000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getIsTPMIndLmpOnRq() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(isTPMIndLmpOnRq_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
       */
      public Builder setIsTPMIndLmpOnRq(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00200000;
        isTPMIndLmpOnRq_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum isTPMIndLmpOnRq = 23;</code>
       */
      public Builder clearIsTPMIndLmpOnRq() {
        bitField0_ = (bitField0_ & ~0x00200000);
        isTPMIndLmpOnRq_ = 0;
        onChanged();
        return this;
      }

      private boolean isBreakFluidLow_ ;
      /**
       * <code>optional bool isBreakFluidLow = 24;</code>
       */
      public boolean hasIsBreakFluidLow() {
        return ((bitField0_ & 0x00400000) == 0x00400000);
      }
      /**
       * <code>optional bool isBreakFluidLow = 24;</code>
       */
      public boolean getIsBreakFluidLow() {
        return isBreakFluidLow_;
      }
      /**
       * <code>optional bool isBreakFluidLow = 24;</code>
       */
      public Builder setIsBreakFluidLow(boolean value) {
        bitField0_ |= 0x00400000;
        isBreakFluidLow_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isBreakFluidLow = 24;</code>
       */
      public Builder clearIsBreakFluidLow() {
        bitField0_ = (bitField0_ & ~0x00400000);
        isBreakFluidLow_ = false;
        onChanged();
        return this;
      }

      private boolean isWashFluidLow_ ;
      /**
       * <code>optional bool isWashFluidLow = 25;</code>
       */
      public boolean hasIsWashFluidLow() {
        return ((bitField0_ & 0x00800000) == 0x00800000);
      }
      /**
       * <code>optional bool isWashFluidLow = 25;</code>
       */
      public boolean getIsWashFluidLow() {
        return isWashFluidLow_;
      }
      /**
       * <code>optional bool isWashFluidLow = 25;</code>
       */
      public Builder setIsWashFluidLow(boolean value) {
        bitField0_ |= 0x00800000;
        isWashFluidLow_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isWashFluidLow = 25;</code>
       */
      public Builder clearIsWashFluidLow() {
        bitField0_ = (bitField0_ & ~0x00800000);
        isWashFluidLow_ = false;
        onChanged();
        return this;
      }

      private boolean isBSMServiceReqOn_ ;
      /**
       * <code>optional bool isBSMServiceReqOn = 26;</code>
       */
      public boolean hasIsBSMServiceReqOn() {
        return ((bitField0_ & 0x01000000) == 0x01000000);
      }
      /**
       * <code>optional bool isBSMServiceReqOn = 26;</code>
       */
      public boolean getIsBSMServiceReqOn() {
        return isBSMServiceReqOn_;
      }
      /**
       * <code>optional bool isBSMServiceReqOn = 26;</code>
       */
      public Builder setIsBSMServiceReqOn(boolean value) {
        bitField0_ |= 0x01000000;
        isBSMServiceReqOn_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isBSMServiceReqOn = 26;</code>
       */
      public Builder clearIsBSMServiceReqOn() {
        bitField0_ = (bitField0_ & ~0x01000000);
        isBSMServiceReqOn_ = false;
        onChanged();
        return this;
      }

      private int numStops_ ;
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of number of stops per trip
       * </pre>
       *
       * <code>optional int32 numStops = 27;</code>
       */
      public boolean hasNumStops() {
        return ((bitField0_ & 0x02000000) == 0x02000000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of number of stops per trip
       * </pre>
       *
       * <code>optional int32 numStops = 27;</code>
       */
      public int getNumStops() {
        return numStops_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of number of stops per trip
       * </pre>
       *
       * <code>optional int32 numStops = 27;</code>
       */
      public Builder setNumStops(int value) {
        bitField0_ |= 0x02000000;
        numStops_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of number of stops per trip
       * </pre>
       *
       * <code>optional int32 numStops = 27;</code>
       */
      public Builder clearNumStops() {
        bitField0_ = (bitField0_ & ~0x02000000);
        numStops_ = 0;
        onChanged();
        return this;
      }

      private int numHardBrakes_ ;
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of total Hardbrake events
       * </pre>
       *
       * <code>optional int32 numHardBrakes = 28;</code>
       */
      public boolean hasNumHardBrakes() {
        return ((bitField0_ & 0x04000000) == 0x04000000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of total Hardbrake events
       * </pre>
       *
       * <code>optional int32 numHardBrakes = 28;</code>
       */
      public int getNumHardBrakes() {
        return numHardBrakes_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of total Hardbrake events
       * </pre>
       *
       * <code>optional int32 numHardBrakes = 28;</code>
       */
      public Builder setNumHardBrakes(int value) {
        bitField0_ |= 0x04000000;
        numHardBrakes_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255, Counts of total Hardbrake events
       * </pre>
       *
       * <code>optional int32 numHardBrakes = 28;</code>
       */
      public Builder clearNumHardBrakes() {
        bitField0_ = (bitField0_ & ~0x04000000);
        numHardBrakes_ = 0;
        onChanged();
        return this;
      }

      private int maintenanceSts_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
       */
      public boolean hasMaintenanceSts() {
        return ((bitField0_ & 0x08000000) == 0x08000000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum getMaintenanceSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum.valueOf(maintenanceSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum.NONE : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
       */
      public Builder setMaintenanceSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.MaintenanceStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x08000000;
        maintenanceSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.MaintenanceStateEnum maintenanceSts = 29;</code>
       */
      public Builder clearMaintenanceSts() {
        bitField0_ = (bitField0_ & ~0x08000000);
        maintenanceSts_ = 0;
        onChanged();
        return this;
      }

      private int vrcUploadDayOfMonth_ ;
      /**
       * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
       */
      public boolean hasVrcUploadDayOfMonth() {
        return ((bitField0_ & 0x10000000) == 0x10000000);
      }
      /**
       * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
       */
      public int getVrcUploadDayOfMonth() {
        return vrcUploadDayOfMonth_;
      }
      /**
       * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
       */
      public Builder setVrcUploadDayOfMonth(int value) {
        bitField0_ |= 0x10000000;
        vrcUploadDayOfMonth_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 vrcUploadDayOfMonth = 90;</code>
       */
      public Builder clearVrcUploadDayOfMonth() {
        bitField0_ = (bitField0_ & ~0x10000000);
        vrcUploadDayOfMonth_ = 0;
        onChanged();
        return this;
      }

      private long vrcUploadTimeStamp_ ;
      /**
       * <code>optional int64 vrcUploadTimeStamp = 30;</code>
       */
      public boolean hasVrcUploadTimeStamp() {
        return ((bitField0_ & 0x20000000) == 0x20000000);
      }
      /**
       * <code>optional int64 vrcUploadTimeStamp = 30;</code>
       */
      public long getVrcUploadTimeStamp() {
        return vrcUploadTimeStamp_;
      }
      /**
       * <code>optional int64 vrcUploadTimeStamp = 30;</code>
       */
      public Builder setVrcUploadTimeStamp(long value) {
        bitField0_ |= 0x20000000;
        vrcUploadTimeStamp_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 vrcUploadTimeStamp = 30;</code>
       */
      public Builder clearVrcUploadTimeStamp() {
        bitField0_ = (bitField0_ & ~0x20000000);
        vrcUploadTimeStamp_ = 0L;
        onChanged();
        return this;
      }

      private int engineRunTime_ ;
      /**
       * <pre>
       *&#47; Range 0 to 960,  minutes
       * </pre>
       *
       * <code>optional int32 engineRunTime = 31;</code>
       */
      public boolean hasEngineRunTime() {
        return ((bitField0_ & 0x40000000) == 0x40000000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 960,  minutes
       * </pre>
       *
       * <code>optional int32 engineRunTime = 31;</code>
       */
      public int getEngineRunTime() {
        return engineRunTime_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 960,  minutes
       * </pre>
       *
       * <code>optional int32 engineRunTime = 31;</code>
       */
      public Builder setEngineRunTime(int value) {
        bitField0_ |= 0x40000000;
        engineRunTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 960,  minutes
       * </pre>
       *
       * <code>optional int32 engineRunTime = 31;</code>
       */
      public Builder clearEngineRunTime() {
        bitField0_ = (bitField0_ & ~0x40000000);
        engineRunTime_ = 0;
        onChanged();
        return this;
      }

      private int avgFuelEconomy_ ;
      /**
       * <code>optional int32 avgFuelEconomy = 32;</code>
       */
      public boolean hasAvgFuelEconomy() {
        return ((bitField0_ & 0x80000000) == 0x80000000);
      }
      /**
       * <code>optional int32 avgFuelEconomy = 32;</code>
       */
      public int getAvgFuelEconomy() {
        return avgFuelEconomy_;
      }
      /**
       * <code>optional int32 avgFuelEconomy = 32;</code>
       */
      public Builder setAvgFuelEconomy(int value) {
        bitField0_ |= 0x80000000;
        avgFuelEconomy_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 avgFuelEconomy = 32;</code>
       */
      public Builder clearAvgFuelEconomy() {
        bitField0_ = (bitField0_ & ~0x80000000);
        avgFuelEconomy_ = 0;
        onChanged();
        return this;
      }

      private float batteryVoltage_ ;
      /**
       * <code>optional float batteryVoltage = 33;</code>
       */
      public boolean hasBatteryVoltage() {
        return ((bitField1_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional float batteryVoltage = 33;</code>
       */
      public float getBatteryVoltage() {
        return batteryVoltage_;
      }
      /**
       * <code>optional float batteryVoltage = 33;</code>
       */
      public Builder setBatteryVoltage(float value) {
        bitField1_ |= 0x00000001;
        batteryVoltage_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional float batteryVoltage = 33;</code>
       */
      public Builder clearBatteryVoltage() {
        bitField1_ = (bitField1_ & ~0x00000001);
        batteryVoltage_ = 0F;
        onChanged();
        return this;
      }

      private int distanceUnit_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
       */
      public boolean hasDistanceUnit() {
        return ((bitField1_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum getDistanceUnit() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum.valueOf(distanceUnit_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum.MILES : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
       */
      public Builder setDistanceUnit(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.DistanceUnitsEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x00000002;
        distanceUnit_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.DistanceUnitsEnum distanceUnit = 34;</code>
       */
      public Builder clearDistanceUnit() {
        bitField1_ = (bitField1_ & ~0x00000002);
        distanceUnit_ = 0;
        onChanged();
        return this;
      }

      private boolean isRunFlatTireLow_ ;
      /**
       * <code>optional bool isRunFlatTireLow = 35;</code>
       */
      public boolean hasIsRunFlatTireLow() {
        return ((bitField1_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool isRunFlatTireLow = 35;</code>
       */
      public boolean getIsRunFlatTireLow() {
        return isRunFlatTireLow_;
      }
      /**
       * <code>optional bool isRunFlatTireLow = 35;</code>
       */
      public Builder setIsRunFlatTireLow(boolean value) {
        bitField1_ |= 0x00000004;
        isRunFlatTireLow_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isRunFlatTireLow = 35;</code>
       */
      public Builder clearIsRunFlatTireLow() {
        bitField1_ = (bitField1_ & ~0x00000004);
        isRunFlatTireLow_ = false;
        onChanged();
        return this;
      }

      private int gasRange_ ;
      /**
       * <code>optional int32 gasRange = 36;</code>
       */
      public boolean hasGasRange() {
        return ((bitField1_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int32 gasRange = 36;</code>
       */
      public int getGasRange() {
        return gasRange_;
      }
      /**
       * <code>optional int32 gasRange = 36;</code>
       */
      public Builder setGasRange(int value) {
        bitField1_ |= 0x00000008;
        gasRange_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 gasRange = 36;</code>
       */
      public Builder clearGasRange() {
        bitField1_ = (bitField1_ & ~0x00000008);
        gasRange_ = 0;
        onChanged();
        return this;
      }

      private int tripAKMPL_ ;
      /**
       * <code>optional int32 tripAKMPL = 37;</code>
       */
      public boolean hasTripAKMPL() {
        return ((bitField1_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional int32 tripAKMPL = 37;</code>
       */
      public int getTripAKMPL() {
        return tripAKMPL_;
      }
      /**
       * <code>optional int32 tripAKMPL = 37;</code>
       */
      public Builder setTripAKMPL(int value) {
        bitField1_ |= 0x00000010;
        tripAKMPL_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripAKMPL = 37;</code>
       */
      public Builder clearTripAKMPL() {
        bitField1_ = (bitField1_ & ~0x00000010);
        tripAKMPL_ = 0;
        onChanged();
        return this;
      }

      private int tripAMPG_ ;
      /**
       * <code>optional int32 tripAMPG = 38;</code>
       */
      public boolean hasTripAMPG() {
        return ((bitField1_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional int32 tripAMPG = 38;</code>
       */
      public int getTripAMPG() {
        return tripAMPG_;
      }
      /**
       * <code>optional int32 tripAMPG = 38;</code>
       */
      public Builder setTripAMPG(int value) {
        bitField1_ |= 0x00000020;
        tripAMPG_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripAMPG = 38;</code>
       */
      public Builder clearTripAMPG() {
        bitField1_ = (bitField1_ & ~0x00000020);
        tripAMPG_ = 0;
        onChanged();
        return this;
      }

      private int tripBKMPL_ ;
      /**
       * <code>optional int32 tripBKMPL = 39;</code>
       */
      public boolean hasTripBKMPL() {
        return ((bitField1_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional int32 tripBKMPL = 39;</code>
       */
      public int getTripBKMPL() {
        return tripBKMPL_;
      }
      /**
       * <code>optional int32 tripBKMPL = 39;</code>
       */
      public Builder setTripBKMPL(int value) {
        bitField1_ |= 0x00000040;
        tripBKMPL_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripBKMPL = 39;</code>
       */
      public Builder clearTripBKMPL() {
        bitField1_ = (bitField1_ & ~0x00000040);
        tripBKMPL_ = 0;
        onChanged();
        return this;
      }

      private int tripBMPG_ ;
      /**
       * <code>optional int32 tripBMPG = 40;</code>
       */
      public boolean hasTripBMPG() {
        return ((bitField1_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional int32 tripBMPG = 40;</code>
       */
      public int getTripBMPG() {
        return tripBMPG_;
      }
      /**
       * <code>optional int32 tripBMPG = 40;</code>
       */
      public Builder setTripBMPG(int value) {
        bitField1_ |= 0x00000080;
        tripBMPG_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripBMPG = 40;</code>
       */
      public Builder clearTripBMPG() {
        bitField1_ = (bitField1_ & ~0x00000080);
        tripBMPG_ = 0;
        onChanged();
        return this;
      }

      private int tripATotalDistKM_ ;
      /**
       * <code>optional int32 tripATotalDistKM = 41;</code>
       */
      public boolean hasTripATotalDistKM() {
        return ((bitField1_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional int32 tripATotalDistKM = 41;</code>
       */
      public int getTripATotalDistKM() {
        return tripATotalDistKM_;
      }
      /**
       * <code>optional int32 tripATotalDistKM = 41;</code>
       */
      public Builder setTripATotalDistKM(int value) {
        bitField1_ |= 0x00000100;
        tripATotalDistKM_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripATotalDistKM = 41;</code>
       */
      public Builder clearTripATotalDistKM() {
        bitField1_ = (bitField1_ & ~0x00000100);
        tripATotalDistKM_ = 0;
        onChanged();
        return this;
      }

      private int tripATotalDistMiles_ ;
      /**
       * <code>optional int32 tripATotalDistMiles = 42;</code>
       */
      public boolean hasTripATotalDistMiles() {
        return ((bitField1_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional int32 tripATotalDistMiles = 42;</code>
       */
      public int getTripATotalDistMiles() {
        return tripATotalDistMiles_;
      }
      /**
       * <code>optional int32 tripATotalDistMiles = 42;</code>
       */
      public Builder setTripATotalDistMiles(int value) {
        bitField1_ |= 0x00000200;
        tripATotalDistMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripATotalDistMiles = 42;</code>
       */
      public Builder clearTripATotalDistMiles() {
        bitField1_ = (bitField1_ & ~0x00000200);
        tripATotalDistMiles_ = 0;
        onChanged();
        return this;
      }

      private int tripBTotalDistKM_ ;
      /**
       * <code>optional int32 tripBTotalDistKM = 43;</code>
       */
      public boolean hasTripBTotalDistKM() {
        return ((bitField1_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional int32 tripBTotalDistKM = 43;</code>
       */
      public int getTripBTotalDistKM() {
        return tripBTotalDistKM_;
      }
      /**
       * <code>optional int32 tripBTotalDistKM = 43;</code>
       */
      public Builder setTripBTotalDistKM(int value) {
        bitField1_ |= 0x00000400;
        tripBTotalDistKM_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripBTotalDistKM = 43;</code>
       */
      public Builder clearTripBTotalDistKM() {
        bitField1_ = (bitField1_ & ~0x00000400);
        tripBTotalDistKM_ = 0;
        onChanged();
        return this;
      }

      private int tripBTotalDistMiles_ ;
      /**
       * <code>optional int32 tripBTotalDistMiles = 44;</code>
       */
      public boolean hasTripBTotalDistMiles() {
        return ((bitField1_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional int32 tripBTotalDistMiles = 44;</code>
       */
      public int getTripBTotalDistMiles() {
        return tripBTotalDistMiles_;
      }
      /**
       * <code>optional int32 tripBTotalDistMiles = 44;</code>
       */
      public Builder setTripBTotalDistMiles(int value) {
        bitField1_ |= 0x00000800;
        tripBTotalDistMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 tripBTotalDistMiles = 44;</code>
       */
      public Builder clearTripBTotalDistMiles() {
        bitField1_ = (bitField1_ & ~0x00000800);
        tripBTotalDistMiles_ = 0;
        onChanged();
        return this;
      }

      private float vehicleSpeed_ ;
      /**
       * <pre>
       * 		optional float engineRPM = 45;
       * </pre>
       *
       * <code>optional float vehicleSpeed = 46;</code>
       */
      public boolean hasVehicleSpeed() {
        return ((bitField1_ & 0x00001000) == 0x00001000);
      }
      /**
       * <pre>
       * 		optional float engineRPM = 45;
       * </pre>
       *
       * <code>optional float vehicleSpeed = 46;</code>
       */
      public float getVehicleSpeed() {
        return vehicleSpeed_;
      }
      /**
       * <pre>
       * 		optional float engineRPM = 45;
       * </pre>
       *
       * <code>optional float vehicleSpeed = 46;</code>
       */
      public Builder setVehicleSpeed(float value) {
        bitField1_ |= 0x00001000;
        vehicleSpeed_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 		optional float engineRPM = 45;
       * </pre>
       *
       * <code>optional float vehicleSpeed = 46;</code>
       */
      public Builder clearVehicleSpeed() {
        bitField1_ = (bitField1_ & ~0x00001000);
        vehicleSpeed_ = 0F;
        onChanged();
        return this;
      }

      private int ambientAvgTemperature_ ;
      /**
       * <pre>
       *		optional int32 isIgnitionOffTime = 47;
       * </pre>
       *
       * <code>optional int32 ambientAvgTemperature = 48;</code>
       */
      public boolean hasAmbientAvgTemperature() {
        return ((bitField1_ & 0x00002000) == 0x00002000);
      }
      /**
       * <pre>
       *		optional int32 isIgnitionOffTime = 47;
       * </pre>
       *
       * <code>optional int32 ambientAvgTemperature = 48;</code>
       */
      public int getAmbientAvgTemperature() {
        return ambientAvgTemperature_;
      }
      /**
       * <pre>
       *		optional int32 isIgnitionOffTime = 47;
       * </pre>
       *
       * <code>optional int32 ambientAvgTemperature = 48;</code>
       */
      public Builder setAmbientAvgTemperature(int value) {
        bitField1_ |= 0x00002000;
        ambientAvgTemperature_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional int32 isIgnitionOffTime = 47;
       * </pre>
       *
       * <code>optional int32 ambientAvgTemperature = 48;</code>
       */
      public Builder clearAmbientAvgTemperature() {
        bitField1_ = (bitField1_ & ~0x00002000);
        ambientAvgTemperature_ = 0;
        onChanged();
        return this;
      }

      private int dpfDEFWarning_ ;
      /**
       * <pre>
       * 		optional int32 engineCoolantTemparature = 49;
       * </pre>
       *
       * <code>optional int32 dpfDEFWarning = 50;</code>
       */
      public boolean hasDpfDEFWarning() {
        return ((bitField1_ & 0x00004000) == 0x00004000);
      }
      /**
       * <pre>
       * 		optional int32 engineCoolantTemparature = 49;
       * </pre>
       *
       * <code>optional int32 dpfDEFWarning = 50;</code>
       */
      public int getDpfDEFWarning() {
        return dpfDEFWarning_;
      }
      /**
       * <pre>
       * 		optional int32 engineCoolantTemparature = 49;
       * </pre>
       *
       * <code>optional int32 dpfDEFWarning = 50;</code>
       */
      public Builder setDpfDEFWarning(int value) {
        bitField1_ |= 0x00004000;
        dpfDEFWarning_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 		optional int32 engineCoolantTemparature = 49;
       * </pre>
       *
       * <code>optional int32 dpfDEFWarning = 50;</code>
       */
      public Builder clearDpfDEFWarning() {
        bitField1_ = (bitField1_ & ~0x00004000);
        dpfDEFWarning_ = 0;
        onChanged();
        return this;
      }

      private int brakeLampIndicatorSts_ = 0;
      /**
       * <pre>
       * 		optional bool isOilPressure = 51;
       * 		optional int32 rainSensorLevel = 52;
       * 		optional int32 boostPressureIndication = 53;
       * 		optional string eModeSTS = 54;
       * 		optional string driverDoorSTS = 55;
       * 		optional string cmdIgnitionSTS = 56;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
       */
      public boolean hasBrakeLampIndicatorSts() {
        return ((bitField1_ & 0x00008000) == 0x00008000);
      }
      /**
       * <pre>
       * 		optional bool isOilPressure = 51;
       * 		optional int32 rainSensorLevel = 52;
       * 		optional int32 boostPressureIndication = 53;
       * 		optional string eModeSTS = 54;
       * 		optional string driverDoorSTS = 55;
       * 		optional string cmdIgnitionSTS = 56;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getBrakeLampIndicatorSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(brakeLampIndicatorSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <pre>
       * 		optional bool isOilPressure = 51;
       * 		optional int32 rainSensorLevel = 52;
       * 		optional int32 boostPressureIndication = 53;
       * 		optional string eModeSTS = 54;
       * 		optional string driverDoorSTS = 55;
       * 		optional string cmdIgnitionSTS = 56;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
       */
      public Builder setBrakeLampIndicatorSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x00008000;
        brakeLampIndicatorSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * 		optional bool isOilPressure = 51;
       * 		optional int32 rainSensorLevel = 52;
       * 		optional int32 boostPressureIndication = 53;
       * 		optional string eModeSTS = 54;
       * 		optional string driverDoorSTS = 55;
       * 		optional string cmdIgnitionSTS = 56;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum brakeLampIndicatorSts = 57;</code>
       */
      public Builder clearBrakeLampIndicatorSts() {
        bitField1_ = (bitField1_ & ~0x00008000);
        brakeLampIndicatorSts_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object txTempExcess_ = "";
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public boolean hasTxTempExcess() {
        return ((bitField1_ & 0x00010000) == 0x00010000);
      }
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public java.lang.String getTxTempExcess() {
        java.lang.Object ref = txTempExcess_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            txTempExcess_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public com.google.protobuf.ByteString
          getTxTempExcessBytes() {
        java.lang.Object ref = txTempExcess_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          txTempExcess_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public Builder setTxTempExcess(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00010000;
        txTempExcess_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public Builder clearTxTempExcess() {
        bitField1_ = (bitField1_ & ~0x00010000);
        txTempExcess_ = getDefaultInstance().getTxTempExcess();
        onChanged();
        return this;
      }
      /**
       * <code>optional string TxTemp_Excess = 58;</code>
       */
      public Builder setTxTempExcessBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00010000;
        txTempExcess_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object pFW_ = "";
      /**
       * <code>optional string PFW = 59;</code>
       */
      public boolean hasPFW() {
        return ((bitField1_ & 0x00020000) == 0x00020000);
      }
      /**
       * <code>optional string PFW = 59;</code>
       */
      public java.lang.String getPFW() {
        java.lang.Object ref = pFW_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            pFW_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string PFW = 59;</code>
       */
      public com.google.protobuf.ByteString
          getPFWBytes() {
        java.lang.Object ref = pFW_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pFW_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string PFW = 59;</code>
       */
      public Builder setPFW(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00020000;
        pFW_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string PFW = 59;</code>
       */
      public Builder clearPFW() {
        bitField1_ = (bitField1_ & ~0x00020000);
        pFW_ = getDefaultInstance().getPFW();
        onChanged();
        return this;
      }
      /**
       * <code>optional string PFW = 59;</code>
       */
      public Builder setPFWBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00020000;
        pFW_ = value;
        onChanged();
        return this;
      }

      private int iBSIBATT_ ;
      /**
       * <pre>
       *&#47; Range -32768 to 32766,  65535 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_I_BATT = 60;</code>
       */
      public boolean hasIBSIBATT() {
        return ((bitField1_ & 0x00040000) == 0x00040000);
      }
      /**
       * <pre>
       *&#47; Range -32768 to 32766,  65535 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_I_BATT = 60;</code>
       */
      public int getIBSIBATT() {
        return iBSIBATT_;
      }
      /**
       * <pre>
       *&#47; Range -32768 to 32766,  65535 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_I_BATT = 60;</code>
       */
      public Builder setIBSIBATT(int value) {
        bitField1_ |= 0x00040000;
        iBSIBATT_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range -32768 to 32766,  65535 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_I_BATT = 60;</code>
       */
      public Builder clearIBSIBATT() {
        bitField1_ = (bitField1_ & ~0x00040000);
        iBSIBATT_ = 0;
        onChanged();
        return this;
      }

      private int iBSTBATT_ ;
      /**
       * <pre>
       *&#47; Range -40 to 105,  255 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_T_BATT = 61;</code>
       */
      public boolean hasIBSTBATT() {
        return ((bitField1_ & 0x00080000) == 0x00080000);
      }
      /**
       * <pre>
       *&#47; Range -40 to 105,  255 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_T_BATT = 61;</code>
       */
      public int getIBSTBATT() {
        return iBSTBATT_;
      }
      /**
       * <pre>
       *&#47; Range -40 to 105,  255 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_T_BATT = 61;</code>
       */
      public Builder setIBSTBATT(int value) {
        bitField1_ |= 0x00080000;
        iBSTBATT_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range -40 to 105,  255 = SNA
       * </pre>
       *
       * <code>optional sint32 IBS_T_BATT = 61;</code>
       */
      public Builder clearIBSTBATT() {
        bitField1_ = (bitField1_ & ~0x00080000);
        iBSTBATT_ = 0;
        onChanged();
        return this;
      }

      private float iBSVBATT_ ;
      /**
       * <pre>
       *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
       * </pre>
       *
       * <code>optional float IBS_V_BATT = 62;</code>
       */
      public boolean hasIBSVBATT() {
        return ((bitField1_ & 0x00100000) == 0x00100000);
      }
      /**
       * <pre>
       *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
       * </pre>
       *
       * <code>optional float IBS_V_BATT = 62;</code>
       */
      public float getIBSVBATT() {
        return iBSVBATT_;
      }
      /**
       * <pre>
       *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
       * </pre>
       *
       * <code>optional float IBS_V_BATT = 62;</code>
       */
      public Builder setIBSVBATT(float value) {
        bitField1_ |= 0x00100000;
        iBSVBATT_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
       * </pre>
       *
       * <code>optional float IBS_V_BATT = 62;</code>
       */
      public Builder clearIBSVBATT() {
        bitField1_ = (bitField1_ & ~0x00100000);
        iBSVBATT_ = 0F;
        onChanged();
        return this;
      }

      private int etcLmpIndSts_ = 0;
      /**
       * <pre>
       *		optional string GR = 63;
       *		optional int32 vehiclePerAccelX = 64;
       *		optional int32 vehiclePerAccelY = 65;
       *		optional string ftFogRQ = 66;
       *		optional string acCltchEGD = 67;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
       */
      public boolean hasEtcLmpIndSts() {
        return ((bitField1_ & 0x00200000) == 0x00200000);
      }
      /**
       * <pre>
       *		optional string GR = 63;
       *		optional int32 vehiclePerAccelX = 64;
       *		optional int32 vehiclePerAccelY = 65;
       *		optional string ftFogRQ = 66;
       *		optional string acCltchEGD = 67;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(etcLmpIndSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <pre>
       *		optional string GR = 63;
       *		optional int32 vehiclePerAccelX = 64;
       *		optional int32 vehiclePerAccelY = 65;
       *		optional string ftFogRQ = 66;
       *		optional string acCltchEGD = 67;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
       */
      public Builder setEtcLmpIndSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x00200000;
        etcLmpIndSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional string GR = 63;
       *		optional int32 vehiclePerAccelX = 64;
       *		optional int32 vehiclePerAccelY = 65;
       *		optional string ftFogRQ = 66;
       *		optional string acCltchEGD = 67;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 68;</code>
       */
      public Builder clearEtcLmpIndSts() {
        bitField1_ = (bitField1_ & ~0x00200000);
        etcLmpIndSts_ = 0;
        onChanged();
        return this;
      }

      private boolean isEngineOilLampOn_ ;
      /**
       * <pre>
       *		optional string essEngineStatus = 69;///ESS_ENG_ST
       * </pre>
       *
       * <code>optional bool isEngineOilLampOn = 70;</code>
       */
      public boolean hasIsEngineOilLampOn() {
        return ((bitField1_ & 0x00400000) == 0x00400000);
      }
      /**
       * <pre>
       *		optional string essEngineStatus = 69;///ESS_ENG_ST
       * </pre>
       *
       * <code>optional bool isEngineOilLampOn = 70;</code>
       */
      public boolean getIsEngineOilLampOn() {
        return isEngineOilLampOn_;
      }
      /**
       * <pre>
       *		optional string essEngineStatus = 69;///ESS_ENG_ST
       * </pre>
       *
       * <code>optional bool isEngineOilLampOn = 70;</code>
       */
      public Builder setIsEngineOilLampOn(boolean value) {
        bitField1_ |= 0x00400000;
        isEngineOilLampOn_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional string essEngineStatus = 69;///ESS_ENG_ST
       * </pre>
       *
       * <code>optional bool isEngineOilLampOn = 70;</code>
       */
      public Builder clearIsEngineOilLampOn() {
        bitField1_ = (bitField1_ & ~0x00400000);
        isEngineOilLampOn_ = false;
        onChanged();
        return this;
      }

      private int oilTempIndicatorRq_ ;
      /**
       * <pre>
       *&#47;OIL_TEMP_IND_RQ
       * </pre>
       *
       * <code>optional int32 oilTempIndicatorRq = 71;</code>
       */
      public boolean hasOilTempIndicatorRq() {
        return ((bitField1_ & 0x00800000) == 0x00800000);
      }
      /**
       * <pre>
       *&#47;OIL_TEMP_IND_RQ
       * </pre>
       *
       * <code>optional int32 oilTempIndicatorRq = 71;</code>
       */
      public int getOilTempIndicatorRq() {
        return oilTempIndicatorRq_;
      }
      /**
       * <pre>
       *&#47;OIL_TEMP_IND_RQ
       * </pre>
       *
       * <code>optional int32 oilTempIndicatorRq = 71;</code>
       */
      public Builder setOilTempIndicatorRq(int value) {
        bitField1_ |= 0x00800000;
        oilTempIndicatorRq_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47;OIL_TEMP_IND_RQ
       * </pre>
       *
       * <code>optional int32 oilTempIndicatorRq = 71;</code>
       */
      public Builder clearOilTempIndicatorRq() {
        bitField1_ = (bitField1_ & ~0x00800000);
        oilTempIndicatorRq_ = 0;
        onChanged();
        return this;
      }

      private int absLampSts_ = 0;
      /**
       * <pre>
       *		optional string engineTrqRqEsc = 72;
       *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
       */
      public boolean hasAbsLampSts() {
        return ((bitField1_ & 0x01000000) == 0x01000000);
      }
      /**
       * <pre>
       *		optional string engineTrqRqEsc = 72;
       *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(absLampSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <pre>
       *		optional string engineTrqRqEsc = 72;
       *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
       */
      public Builder setAbsLampSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x01000000;
        absLampSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional string engineTrqRqEsc = 72;
       *		optional string batteryStatusCriteria = 73;///Batt_ST_Crit
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampSts = 74;</code>
       */
      public Builder clearAbsLampSts() {
        bitField1_ = (bitField1_ & ~0x01000000);
        absLampSts_ = 0;
        onChanged();
        return this;
      }

      private int srsIndLmpSts_ = 0;
      /**
       * <pre>
       *		optional string spStSwStatus = 75;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
       */
      public boolean hasSrsIndLmpSts() {
        return ((bitField1_ & 0x02000000) == 0x02000000);
      }
      /**
       * <pre>
       *		optional string spStSwStatus = 75;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsIndLmpSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <pre>
       *		optional string spStSwStatus = 75;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
       */
      public Builder setSrsIndLmpSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x02000000;
        srsIndLmpSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional string spStSwStatus = 75;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 76;</code>
       */
      public Builder clearSrsIndLmpSts() {
        bitField1_ = (bitField1_ & ~0x02000000);
        srsIndLmpSts_ = 0;
        onChanged();
        return this;
      }

      private int oilPressure_ ;
      /**
       * <pre>
       *		optional string mzrModeAct = 77;
       *		optional string flHSStat = 78;
       *		optional string frHSStat = 79;
       *		optional string autoDfgStatus = 80;
       *		optional string engineLoad = 81;
       *		optional string actlAccelPdlPosition = 82;
       *		optional string accelPdlPosition = 83;
       *		optional int32 fuelConsumption = 84;
       *		optional string engineTrqStatic = 85;
       * </pre>
       *
       * <code>optional int32 oilPressure = 91;</code>
       */
      public boolean hasOilPressure() {
        return ((bitField1_ & 0x04000000) == 0x04000000);
      }
      /**
       * <pre>
       *		optional string mzrModeAct = 77;
       *		optional string flHSStat = 78;
       *		optional string frHSStat = 79;
       *		optional string autoDfgStatus = 80;
       *		optional string engineLoad = 81;
       *		optional string actlAccelPdlPosition = 82;
       *		optional string accelPdlPosition = 83;
       *		optional int32 fuelConsumption = 84;
       *		optional string engineTrqStatic = 85;
       * </pre>
       *
       * <code>optional int32 oilPressure = 91;</code>
       */
      public int getOilPressure() {
        return oilPressure_;
      }
      /**
       * <pre>
       *		optional string mzrModeAct = 77;
       *		optional string flHSStat = 78;
       *		optional string frHSStat = 79;
       *		optional string autoDfgStatus = 80;
       *		optional string engineLoad = 81;
       *		optional string actlAccelPdlPosition = 82;
       *		optional string accelPdlPosition = 83;
       *		optional int32 fuelConsumption = 84;
       *		optional string engineTrqStatic = 85;
       * </pre>
       *
       * <code>optional int32 oilPressure = 91;</code>
       */
      public Builder setOilPressure(int value) {
        bitField1_ |= 0x04000000;
        oilPressure_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *		optional string mzrModeAct = 77;
       *		optional string flHSStat = 78;
       *		optional string frHSStat = 79;
       *		optional string autoDfgStatus = 80;
       *		optional string engineLoad = 81;
       *		optional string actlAccelPdlPosition = 82;
       *		optional string accelPdlPosition = 83;
       *		optional int32 fuelConsumption = 84;
       *		optional string engineTrqStatic = 85;
       * </pre>
       *
       * <code>optional int32 oilPressure = 91;</code>
       */
      public Builder clearOilPressure() {
        bitField1_ = (bitField1_ & ~0x04000000);
        oilPressure_ = 0;
        onChanged();
        return this;
      }

      private int srsLmpSts_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
       */
      public boolean hasSrsLmpSts() {
        return ((bitField1_ & 0x08000000) == 0x08000000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsLmpSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsLmpSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
       */
      public Builder setSrsLmpSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x08000000;
        srsLmpSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsLmpSts = 92;</code>
       */
      public Builder clearSrsLmpSts() {
        bitField1_ = (bitField1_ & ~0x08000000);
        srsLmpSts_ = 0;
        onChanged();
        return this;
      }

      private int wtrFuelIndLmpSts_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
       */
      public boolean hasWtrFuelIndLmpSts() {
        return ((bitField1_ & 0x10000000) == 0x10000000);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getWtrFuelIndLmpSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(wtrFuelIndLmpSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
       */
      public Builder setWtrFuelIndLmpSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField1_ |= 0x10000000;
        wtrFuelIndLmpSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum wtrFuelIndLmpSts = 93;</code>
       */
      public Builder clearWtrFuelIndLmpSts() {
        bitField1_ = (bitField1_ & ~0x10000000);
        wtrFuelIndLmpSts_ = 0;
        onChanged();
        return this;
      }

      private int vcFuelCapacity_ ;
      /**
       * <pre>
       *&#47; Range 36 to 290,  liters
       * </pre>
       *
       * <code>optional int32 vcFuelCapacity = 94;</code>
       */
      public boolean hasVcFuelCapacity() {
        return ((bitField1_ & 0x20000000) == 0x20000000);
      }
      /**
       * <pre>
       *&#47; Range 36 to 290,  liters
       * </pre>
       *
       * <code>optional int32 vcFuelCapacity = 94;</code>
       */
      public int getVcFuelCapacity() {
        return vcFuelCapacity_;
      }
      /**
       * <pre>
       *&#47; Range 36 to 290,  liters
       * </pre>
       *
       * <code>optional int32 vcFuelCapacity = 94;</code>
       */
      public Builder setVcFuelCapacity(int value) {
        bitField1_ |= 0x20000000;
        vcFuelCapacity_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 36 to 290,  liters
       * </pre>
       *
       * <code>optional int32 vcFuelCapacity = 94;</code>
       */
      public Builder clearVcFuelCapacity() {
        bitField1_ = (bitField1_ & ~0x20000000);
        vcFuelCapacity_ = 0;
        onChanged();
        return this;
      }

      private boolean isBSMOPRSTAT_ ;
      /**
       * <code>optional bool isBSM_OPR_STAT = 95;</code>
       */
      public boolean hasIsBSMOPRSTAT() {
        return ((bitField1_ & 0x40000000) == 0x40000000);
      }
      /**
       * <code>optional bool isBSM_OPR_STAT = 95;</code>
       */
      public boolean getIsBSMOPRSTAT() {
        return isBSMOPRSTAT_;
      }
      /**
       * <code>optional bool isBSM_OPR_STAT = 95;</code>
       */
      public Builder setIsBSMOPRSTAT(boolean value) {
        bitField1_ |= 0x40000000;
        isBSMOPRSTAT_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isBSM_OPR_STAT = 95;</code>
       */
      public Builder clearIsBSMOPRSTAT() {
        bitField1_ = (bitField1_ & ~0x40000000);
        isBSMOPRSTAT_ = false;
        onChanged();
        return this;
      }

      private int avgFuelLvl_ ;
      /**
       * <pre>
       *&#47; Range 0 to 255,  liters
       * </pre>
       *
       * <code>optional int32 avgFuelLvl = 96;</code>
       */
      public boolean hasAvgFuelLvl() {
        return ((bitField1_ & 0x80000000) == 0x80000000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 255,  liters
       * </pre>
       *
       * <code>optional int32 avgFuelLvl = 96;</code>
       */
      public int getAvgFuelLvl() {
        return avgFuelLvl_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255,  liters
       * </pre>
       *
       * <code>optional int32 avgFuelLvl = 96;</code>
       */
      public Builder setAvgFuelLvl(int value) {
        bitField1_ |= 0x80000000;
        avgFuelLvl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 255,  liters
       * </pre>
       *
       * <code>optional int32 avgFuelLvl = 96;</code>
       */
      public Builder clearAvgFuelLvl() {
        bitField1_ = (bitField1_ & ~0x80000000);
        avgFuelLvl_ = 0;
        onChanged();
        return this;
      }

      private int epsWarnDispRq_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
       */
      public boolean hasEpsWarnDispRq() {
        return ((bitField2_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum getEpsWarnDispRq() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum.valueOf(epsWarnDispRq_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum.STATE_ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
       */
      public Builder setEpsWarnDispRq(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.StateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField2_ |= 0x00000001;
        epsWarnDispRq_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.StateEnum epsWarnDispRq = 97;</code>
       */
      public Builder clearEpsWarnDispRq() {
        bitField2_ = (bitField2_ & ~0x00000001);
        epsWarnDispRq_ = 0;
        onChanged();
        return this;
      }

      private int escCntrlLmpSts_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
       */
      public boolean hasEscCntrlLmpSts() {
        return ((bitField2_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEscCntrlLmpSts() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(escCntrlLmpSts_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
       */
      public Builder setEscCntrlLmpSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField2_ |= 0x00000002;
        escCntrlLmpSts_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum escCntrlLmpSts = 98;</code>
       */
      public Builder clearEscCntrlLmpSts() {
        bitField2_ = (bitField2_ & ~0x00000002);
        escCntrlLmpSts_ = 0;
        onChanged();
        return this;
      }

      private boolean isPTSFTSRV_ ;
      /**
       * <code>optional bool isPTS_FT_SRV = 99;</code>
       */
      public boolean hasIsPTSFTSRV() {
        return ((bitField2_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool isPTS_FT_SRV = 99;</code>
       */
      public boolean getIsPTSFTSRV() {
        return isPTSFTSRV_;
      }
      /**
       * <code>optional bool isPTS_FT_SRV = 99;</code>
       */
      public Builder setIsPTSFTSRV(boolean value) {
        bitField2_ |= 0x00000004;
        isPTSFTSRV_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isPTS_FT_SRV = 99;</code>
       */
      public Builder clearIsPTSFTSRV() {
        bitField2_ = (bitField2_ & ~0x00000004);
        isPTSFTSRV_ = false;
        onChanged();
        return this;
      }

      private boolean isPTSRRSRV_ ;
      /**
       * <code>optional bool isPTS_RR_SRV = 100;</code>
       */
      public boolean hasIsPTSRRSRV() {
        return ((bitField2_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional bool isPTS_RR_SRV = 100;</code>
       */
      public boolean getIsPTSRRSRV() {
        return isPTSRRSRV_;
      }
      /**
       * <code>optional bool isPTS_RR_SRV = 100;</code>
       */
      public Builder setIsPTSRRSRV(boolean value) {
        bitField2_ |= 0x00000008;
        isPTSRRSRV_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isPTS_RR_SRV = 100;</code>
       */
      public Builder clearIsPTSRRSRV() {
        bitField2_ = (bitField2_ & ~0x00000008);
        isPTSRRSRV_ = false;
        onChanged();
        return this;
      }

      private boolean isADSSrvSys_ ;
      /**
       * <code>optional bool isADS_SrvSys = 101;</code>
       */
      public boolean hasIsADSSrvSys() {
        return ((bitField2_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional bool isADS_SrvSys = 101;</code>
       */
      public boolean getIsADSSrvSys() {
        return isADSSrvSys_;
      }
      /**
       * <code>optional bool isADS_SrvSys = 101;</code>
       */
      public Builder setIsADSSrvSys(boolean value) {
        bitField2_ |= 0x00000010;
        isADSSrvSys_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isADS_SrvSys = 101;</code>
       */
      public Builder clearIsADSSrvSys() {
        bitField2_ = (bitField2_ & ~0x00000010);
        isADSSrvSys_ = false;
        onChanged();
        return this;
      }

      private boolean isACCFaulted_ ;
      /**
       * <code>optional bool isACCFaulted = 102;</code>
       */
      public boolean hasIsACCFaulted() {
        return ((bitField2_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional bool isACCFaulted = 102;</code>
       */
      public boolean getIsACCFaulted() {
        return isACCFaulted_;
      }
      /**
       * <code>optional bool isACCFaulted = 102;</code>
       */
      public Builder setIsACCFaulted(boolean value) {
        bitField2_ |= 0x00000020;
        isACCFaulted_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isACCFaulted = 102;</code>
       */
      public Builder clearIsACCFaulted() {
        bitField2_ = (bitField2_ & ~0x00000020);
        isACCFaulted_ = false;
        onChanged();
        return this;
      }

      private boolean isACCOnlyNADASMSSts_ ;
      /**
       * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
       */
      public boolean hasIsACCOnlyNADASMSSts() {
        return ((bitField2_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
       */
      public boolean getIsACCOnlyNADASMSSts() {
        return isACCOnlyNADASMSSts_;
      }
      /**
       * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
       */
      public Builder setIsACCOnlyNADASMSSts(boolean value) {
        bitField2_ |= 0x00000040;
        isACCOnlyNADASMSSts_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isACCOnlyNA_DASMSSts = 103;</code>
       */
      public Builder clearIsACCOnlyNADASMSSts() {
        bitField2_ = (bitField2_ & ~0x00000040);
        isACCOnlyNADASMSSts_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object mapRequestCd_ = "";
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public boolean hasMapRequestCd() {
        return ((bitField2_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public java.lang.String getMapRequestCd() {
        java.lang.Object ref = mapRequestCd_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            mapRequestCd_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public com.google.protobuf.ByteString
          getMapRequestCdBytes() {
        java.lang.Object ref = mapRequestCd_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mapRequestCd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public Builder setMapRequestCd(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00000080;
        mapRequestCd_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public Builder clearMapRequestCd() {
        bitField2_ = (bitField2_ & ~0x00000080);
        mapRequestCd_ = getDefaultInstance().getMapRequestCd();
        onChanged();
        return this;
      }
      /**
       * <code>optional string mapRequestCd = 104;</code>
       */
      public Builder setMapRequestCdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00000080;
        mapRequestCd_ = value;
        onChanged();
        return this;
      }

      private boolean isNavigationActivated_ ;
      /**
       * <code>optional bool isNavigationActivated = 105;</code>
       */
      public boolean hasIsNavigationActivated() {
        return ((bitField2_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional bool isNavigationActivated = 105;</code>
       */
      public boolean getIsNavigationActivated() {
        return isNavigationActivated_;
      }
      /**
       * <code>optional bool isNavigationActivated = 105;</code>
       */
      public Builder setIsNavigationActivated(boolean value) {
        bitField2_ |= 0x00000100;
        isNavigationActivated_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isNavigationActivated = 105;</code>
       */
      public Builder clearIsNavigationActivated() {
        bitField2_ = (bitField2_ & ~0x00000100);
        isNavigationActivated_ = false;
        onChanged();
        return this;
      }

      private boolean isSPLmpFault_ ;
      /**
       * <code>optional bool isSPLmpFault = 106;</code>
       */
      public boolean hasIsSPLmpFault() {
        return ((bitField2_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional bool isSPLmpFault = 106;</code>
       */
      public boolean getIsSPLmpFault() {
        return isSPLmpFault_;
      }
      /**
       * <code>optional bool isSPLmpFault = 106;</code>
       */
      public Builder setIsSPLmpFault(boolean value) {
        bitField2_ |= 0x00000200;
        isSPLmpFault_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isSPLmpFault = 106;</code>
       */
      public Builder clearIsSPLmpFault() {
        bitField2_ = (bitField2_ & ~0x00000200);
        isSPLmpFault_ = false;
        onChanged();
        return this;
      }

      private float aEVMiles_ ;
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
       * </pre>
       *
       * <code>optional float A_EV_Miles = 107;</code>
       */
      public boolean hasAEVMiles() {
        return ((bitField2_ & 0x00000400) == 0x00000400);
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
       * </pre>
       *
       * <code>optional float A_EV_Miles = 107;</code>
       */
      public float getAEVMiles() {
        return aEVMiles_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
       * </pre>
       *
       * <code>optional float A_EV_Miles = 107;</code>
       */
      public Builder setAEVMiles(float value) {
        bitField2_ |= 0x00000400;
        aEVMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A EV distance in US miles
       * </pre>
       *
       * <code>optional float A_EV_Miles = 107;</code>
       */
      public Builder clearAEVMiles() {
        bitField2_ = (bitField2_ & ~0x00000400);
        aEVMiles_ = 0F;
        onChanged();
        return this;
      }

      private float aEVKilometers_ ;
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
       * </pre>
       *
       * <code>optional float A_EV_Kilometers = 108;</code>
       */
      public boolean hasAEVKilometers() {
        return ((bitField2_ & 0x00000800) == 0x00000800);
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
       * </pre>
       *
       * <code>optional float A_EV_Kilometers = 108;</code>
       */
      public float getAEVKilometers() {
        return aEVKilometers_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
       * </pre>
       *
       * <code>optional float A_EV_Kilometers = 108;</code>
       */
      public Builder setAEVKilometers(float value) {
        bitField2_ |= 0x00000800;
        aEVKilometers_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A EV distance in kilometers
       * </pre>
       *
       * <code>optional float A_EV_Kilometers = 108;</code>
       */
      public Builder clearAEVKilometers() {
        bitField2_ = (bitField2_ & ~0x00000800);
        aEVKilometers_ = 0F;
        onChanged();
        return this;
      }

      private float aHybridMiles_ ;
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
       * </pre>
       *
       * <code>optional float A_Hybrid_Miles = 109;</code>
       */
      public boolean hasAHybridMiles() {
        return ((bitField2_ & 0x00001000) == 0x00001000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
       * </pre>
       *
       * <code>optional float A_Hybrid_Miles = 109;</code>
       */
      public float getAHybridMiles() {
        return aHybridMiles_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
       * </pre>
       *
       * <code>optional float A_Hybrid_Miles = 109;</code>
       */
      public Builder setAHybridMiles(float value) {
        bitField2_ |= 0x00001000;
        aHybridMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip A hybrid distance in US miles
       * </pre>
       *
       * <code>optional float A_Hybrid_Miles = 109;</code>
       */
      public Builder clearAHybridMiles() {
        bitField2_ = (bitField2_ & ~0x00001000);
        aHybridMiles_ = 0F;
        onChanged();
        return this;
      }

      private float aHybridKilometers_ ;
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float A_Hybrid_Kilometers = 110;</code>
       */
      public boolean hasAHybridKilometers() {
        return ((bitField2_ & 0x00002000) == 0x00002000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float A_Hybrid_Kilometers = 110;</code>
       */
      public float getAHybridKilometers() {
        return aHybridKilometers_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float A_Hybrid_Kilometers = 110;</code>
       */
      public Builder setAHybridKilometers(float value) {
        bitField2_ |= 0x00002000;
        aHybridKilometers_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip A hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float A_Hybrid_Kilometers = 110;</code>
       */
      public Builder clearAHybridKilometers() {
        bitField2_ = (bitField2_ & ~0x00002000);
        aHybridKilometers_ = 0F;
        onChanged();
        return this;
      }

      private float bEVMiles_ ;
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
       * </pre>
       *
       * <code>optional float B_EV_Miles = 111;</code>
       */
      public boolean hasBEVMiles() {
        return ((bitField2_ & 0x00004000) == 0x00004000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
       * </pre>
       *
       * <code>optional float B_EV_Miles = 111;</code>
       */
      public float getBEVMiles() {
        return bEVMiles_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
       * </pre>
       *
       * <code>optional float B_EV_Miles = 111;</code>
       */
      public Builder setBEVMiles(float value) {
        bitField2_ |= 0x00004000;
        bEVMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B EV distance in US miles
       * </pre>
       *
       * <code>optional float B_EV_Miles = 111;</code>
       */
      public Builder clearBEVMiles() {
        bitField2_ = (bitField2_ & ~0x00004000);
        bEVMiles_ = 0F;
        onChanged();
        return this;
      }

      private float bEVKilometers_ ;
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
       * </pre>
       *
       * <code>optional float B_EV_Kilometers = 112;</code>
       */
      public boolean hasBEVKilometers() {
        return ((bitField2_ & 0x00008000) == 0x00008000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
       * </pre>
       *
       * <code>optional float B_EV_Kilometers = 112;</code>
       */
      public float getBEVKilometers() {
        return bEVKilometers_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
       * </pre>
       *
       * <code>optional float B_EV_Kilometers = 112;</code>
       */
      public Builder setBEVKilometers(float value) {
        bitField2_ |= 0x00008000;
        bEVKilometers_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B EV distance in kilometers
       * </pre>
       *
       * <code>optional float B_EV_Kilometers = 112;</code>
       */
      public Builder clearBEVKilometers() {
        bitField2_ = (bitField2_ & ~0x00008000);
        bEVKilometers_ = 0F;
        onChanged();
        return this;
      }

      private float bHybridMiles_ ;
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
       * </pre>
       *
       * <code>optional float B_Hybrid_Miles = 113;</code>
       */
      public boolean hasBHybridMiles() {
        return ((bitField2_ & 0x00010000) == 0x00010000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
       * </pre>
       *
       * <code>optional float B_Hybrid_Miles = 113;</code>
       */
      public float getBHybridMiles() {
        return bHybridMiles_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
       * </pre>
       *
       * <code>optional float B_Hybrid_Miles = 113;</code>
       */
      public Builder setBHybridMiles(float value) {
        bitField2_ |= 0x00010000;
        bHybridMiles_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 9999.9  16777215 = SNA,  Trip B hybrid distance in US miles
       * </pre>
       *
       * <code>optional float B_Hybrid_Miles = 113;</code>
       */
      public Builder clearBHybridMiles() {
        bitField2_ = (bitField2_ & ~0x00010000);
        bHybridMiles_ = 0F;
        onChanged();
        return this;
      }

      private float bHybridKilometers_ ;
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float B_Hybrid_Kilometers = 114;</code>
       */
      public boolean hasBHybridKilometers() {
        return ((bitField2_ & 0x00020000) == 0x00020000);
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float B_Hybrid_Kilometers = 114;</code>
       */
      public float getBHybridKilometers() {
        return bHybridKilometers_;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float B_Hybrid_Kilometers = 114;</code>
       */
      public Builder setBHybridKilometers(float value) {
        bitField2_ |= 0x00020000;
        bHybridKilometers_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Range 0 to 16093.3 16777215 = SNA , Trip B hybrid distance in kilometers
       * </pre>
       *
       * <code>optional float B_Hybrid_Kilometers = 114;</code>
       */
      public Builder clearBHybridKilometers() {
        bitField2_ = (bitField2_ & ~0x00020000);
        bHybridKilometers_ = 0F;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.VehicleData)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.VehicleData)
    private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<VehicleData>
        PARSER = new com.google.protobuf.AbstractParser<VehicleData>() {
      public VehicleData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new VehicleData(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SQDFDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string vehicleId = 1;</code>
     */
    boolean hasVehicleId();
    /**
     * <code>optional string vehicleId = 1;</code>
     */
    java.lang.String getVehicleId();
    /**
     * <code>optional string vehicleId = 1;</code>
     */
    com.google.protobuf.ByteString
        getVehicleIdBytes();

    /**
     * <code>optional string eventId = 2;</code>
     */
    boolean hasEventId();
    /**
     * <code>optional string eventId = 2;</code>
     */
    java.lang.String getEventId();
    /**
     * <code>optional string eventId = 2;</code>
     */
    com.google.protobuf.ByteString
        getEventIdBytes();

    /**
     * <code>optional int64 eventCreationTime = 3;</code>
     */
    boolean hasEventCreationTime();
    /**
     * <code>optional int64 eventCreationTime = 3;</code>
     */
    long getEventCreationTime();

    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    boolean hasUploadVehicleLocation();
    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectGNSS.Location getUploadVehicleLocation();
    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getUploadVehicleLocationOrBuilder();

    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    boolean hasQuickScanData();
    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getQuickScanData();
    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder getQuickScanDataOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    boolean hasDtcScanData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDtcScanData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder getDtcScanDataOrBuilder();

    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    boolean hasHistogram();
    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getHistogram();
    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder getHistogramOrBuilder();

    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    boolean hasDatalog();
    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDatalog();
    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder getDatalogOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    boolean hasGenericData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getGenericData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder getGenericDataOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    boolean hasSgwData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getSgwData();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder getSgwDataOrBuilder();

    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
     */
    boolean hasServiceName();
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
     */
    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum getServiceName();

    /**
     * <pre>
     *&#47; Support legacy approach for passing through Histogram data in JSON format.
     * </pre>
     *
     * <code>optional bytes histogramJsonData = 13;</code>
     */
    boolean hasHistogramJsonData();
    /**
     * <pre>
     *&#47; Support legacy approach for passing through Histogram data in JSON format.
     * </pre>
     *
     * <code>optional bytes histogramJsonData = 13;</code>
     */
    com.google.protobuf.ByteString getHistogramJsonData();

    /**
     * <pre>
     *&#47; Support legacy approach for passing through DataLog data in JSON format.
     * </pre>
     *
     * <code>optional bytes datalogJsonData = 14;</code>
     */
    boolean hasDatalogJsonData();
    /**
     * <pre>
     *&#47; Support legacy approach for passing through DataLog data in JSON format.
     * </pre>
     *
     * <code>optional bytes datalogJsonData = 14;</code>
     */
    com.google.protobuf.ByteString getDatalogJsonData();
  }
  /**
   * Protobuf type {@code com.fca.uconnect.global.SQDFData}
   */
  public  static final class SQDFData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData)
      SQDFDataOrBuilder {
    // Use SQDFData.newBuilder() to construct.
    private SQDFData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SQDFData() {
      vehicleId_ = "";
      eventId_ = "";
      eventCreationTime_ = 0L;
      serviceName_ = 0;
      histogramJsonData_ = com.google.protobuf.ByteString.EMPTY;
      datalogJsonData_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SQDFData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              vehicleId_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              eventId_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              eventCreationTime_ = input.readInt64();
              break;
            }
            case 34: {
              com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder subBuilder = null;
              if (((bitField0_ & 0x00000008) == 0x00000008)) {
                subBuilder = uploadVehicleLocation_.toBuilder();
              }
              uploadVehicleLocation_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectGNSS.Location.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(uploadVehicleLocation_);
                uploadVehicleLocation_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000008;
              break;
            }
            case 50: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = quickScanData_.toBuilder();
              }
              quickScanData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(quickScanData_);
                quickScanData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            case 58: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder subBuilder = null;
              if (((bitField0_ & 0x00000020) == 0x00000020)) {
                subBuilder = dtcScanData_.toBuilder();
              }
              dtcScanData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(dtcScanData_);
                dtcScanData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000020;
              break;
            }
            case 66: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder subBuilder = null;
              if (((bitField0_ & 0x00000040) == 0x00000040)) {
                subBuilder = histogram_.toBuilder();
              }
              histogram_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(histogram_);
                histogram_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000040;
              break;
            }
            case 74: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = datalog_.toBuilder();
              }
              datalog_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(datalog_);
                datalog_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 82: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000100) == 0x00000100)) {
                subBuilder = genericData_.toBuilder();
              }
              genericData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(genericData_);
                genericData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000100;
              break;
            }
            case 90: {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder subBuilder = null;
              if (((bitField0_ & 0x00000200) == 0x00000200)) {
                subBuilder = sgwData_.toBuilder();
              }
              sgwData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sgwData_);
                sgwData_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000200;
              break;
            }
            case 96: {
              int rawValue = input.readEnum();
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(12, rawValue);
              } else {
                bitField0_ |= 0x00000400;
                serviceName_ = rawValue;
              }
              break;
            }
            case 106: {
              bitField0_ |= 0x00000800;
              histogramJsonData_ = input.readBytes();
              break;
            }
            case 114: {
              bitField0_ |= 0x00001000;
              datalogJsonData_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder.class);
    }

    /**
     * Protobuf enum {@code com.fca.uconnect.global.SQDFData.ServiceNameEnum}
     */
    public enum ServiceNameEnum
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <pre>
       *&#47; Vehicle Health Report upload
       * </pre>
       *
       * <code>VRC = 0;</code>
       */
      VRC(0),
      /**
       * <pre>
       *&#47;Diagnostic Trouble Code upload
       * </pre>
       *
       * <code>DTC = 1;</code>
       */
      DTC(1),
      /**
       * <pre>
       *&#47;Generic Car Data upload
       * </pre>
       *
       * <code>GCD = 2;</code>
       */
      GCD(2),
      /**
       * <pre>
       *&#47;Manual Trigger upload (Programmable Trigger Event)
       * </pre>
       *
       * <code>MTR = 3;</code>
       */
      MTR(3),
      /**
       * <pre>
       *&#47;Security Gateway upload
       * </pre>
       *
       * <code>SGW = 4;</code>
       */
      SGW(4),
      ;

      /**
       * <pre>
       *&#47; Vehicle Health Report upload
       * </pre>
       *
       * <code>VRC = 0;</code>
       */
      public static final int VRC_VALUE = 0;
      /**
       * <pre>
       *&#47;Diagnostic Trouble Code upload
       * </pre>
       *
       * <code>DTC = 1;</code>
       */
      public static final int DTC_VALUE = 1;
      /**
       * <pre>
       *&#47;Generic Car Data upload
       * </pre>
       *
       * <code>GCD = 2;</code>
       */
      public static final int GCD_VALUE = 2;
      /**
       * <pre>
       *&#47;Manual Trigger upload (Programmable Trigger Event)
       * </pre>
       *
       * <code>MTR = 3;</code>
       */
      public static final int MTR_VALUE = 3;
      /**
       * <pre>
       *&#47;Security Gateway upload
       * </pre>
       *
       * <code>SGW = 4;</code>
       */
      public static final int SGW_VALUE = 4;


      public final int getNumber() {
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ServiceNameEnum valueOf(int value) {
        return forNumber(value);
      }

      public static ServiceNameEnum forNumber(int value) {
        switch (value) {
          case 0: return VRC;
          case 1: return DTC;
          case 2: return GCD;
          case 3: return MTR;
          case 4: return SGW;
          default: return null;
        }
      }

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

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDescriptor().getEnumTypes().get(0);
      }

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

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

      private final int value;

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

      // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFData.ServiceNameEnum)
    }

    public interface SGWDataOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.SGWData)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      boolean hasEcuData();
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData();
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder();

      /**
       * <code>optional int32 monthlyPayload = 2;</code>
       */
      boolean hasMonthlyPayload();
      /**
       * <code>optional int32 monthlyPayload = 2;</code>
       */
      int getMonthlyPayload();

      /**
       * <code>optional int32 uploadDayOfMonth = 3;</code>
       */
      boolean hasUploadDayOfMonth();
      /**
       * <code>optional int32 uploadDayOfMonth = 3;</code>
       */
      int getUploadDayOfMonth();

      /**
       * <code>optional int64 uploadTimestamp = 4;</code>
       */
      boolean hasUploadTimestamp();
      /**
       * <code>optional int64 uploadTimestamp = 4;</code>
       */
      long getUploadTimestamp();

      /**
       * <code>optional bytes gatewayLogs = 5;</code>
       */
      boolean hasGatewayLogs();
      /**
       * <code>optional bytes gatewayLogs = 5;</code>
       */
      com.google.protobuf.ByteString getGatewayLogs();

      /**
       * <code>optional bytes idsLogs = 6;</code>
       */
      boolean hasIdsLogs();
      /**
       * <code>optional bytes idsLogs = 6;</code>
       */
      com.google.protobuf.ByteString getIdsLogs();
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.SGWData}
     */
    public  static final class SGWData extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.SGWData)
        SGWDataOrBuilder {
      // Use SGWData.newBuilder() to construct.
      private SGWData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private SGWData() {
        monthlyPayload_ = 0;
        uploadDayOfMonth_ = 0;
        uploadTimestamp_ = 0L;
        gatewayLogs_ = com.google.protobuf.ByteString.EMPTY;
        idsLogs_ = com.google.protobuf.ByteString.EMPTY;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private SGWData(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = ecuData_.toBuilder();
                }
                ecuData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(ecuData_);
                  ecuData_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                monthlyPayload_ = input.readInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                uploadDayOfMonth_ = input.readInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                uploadTimestamp_ = input.readInt64();
                break;
              }
              case 42: {
                bitField0_ |= 0x00000010;
                gatewayLogs_ = input.readBytes();
                break;
              }
              case 50: {
                bitField0_ |= 0x00000020;
                idsLogs_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_SGWData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder.class);
      }

      private int bitField0_;
      public static final int ECUDATA_FIELD_NUMBER = 1;
      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData ecuData_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      public boolean hasEcuData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData() {
        return ecuData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance() : ecuData_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder() {
        return ecuData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance() : ecuData_;
      }

      public static final int MONTHLYPAYLOAD_FIELD_NUMBER = 2;
      private int monthlyPayload_;
      /**
       * <code>optional int32 monthlyPayload = 2;</code>
       */
      public boolean hasMonthlyPayload() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 monthlyPayload = 2;</code>
       */
      public int getMonthlyPayload() {
        return monthlyPayload_;
      }

      public static final int UPLOADDAYOFMONTH_FIELD_NUMBER = 3;
      private int uploadDayOfMonth_;
      /**
       * <code>optional int32 uploadDayOfMonth = 3;</code>
       */
      public boolean hasUploadDayOfMonth() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 uploadDayOfMonth = 3;</code>
       */
      public int getUploadDayOfMonth() {
        return uploadDayOfMonth_;
      }

      public static final int UPLOADTIMESTAMP_FIELD_NUMBER = 4;
      private long uploadTimestamp_;
      /**
       * <code>optional int64 uploadTimestamp = 4;</code>
       */
      public boolean hasUploadTimestamp() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int64 uploadTimestamp = 4;</code>
       */
      public long getUploadTimestamp() {
        return uploadTimestamp_;
      }

      public static final int GATEWAYLOGS_FIELD_NUMBER = 5;
      private com.google.protobuf.ByteString gatewayLogs_;
      /**
       * <code>optional bytes gatewayLogs = 5;</code>
       */
      public boolean hasGatewayLogs() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional bytes gatewayLogs = 5;</code>
       */
      public com.google.protobuf.ByteString getGatewayLogs() {
        return gatewayLogs_;
      }

      public static final int IDSLOGS_FIELD_NUMBER = 6;
      private com.google.protobuf.ByteString idsLogs_;
      /**
       * <code>optional bytes idsLogs = 6;</code>
       */
      public boolean hasIdsLogs() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional bytes idsLogs = 6;</code>
       */
      public com.google.protobuf.ByteString getIdsLogs() {
        return idsLogs_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, getEcuData());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, monthlyPayload_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt32(3, uploadDayOfMonth_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt64(4, uploadTimestamp_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeBytes(5, gatewayLogs_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeBytes(6, idsLogs_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getEcuData());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, monthlyPayload_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, uploadDayOfMonth_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(4, uploadTimestamp_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(5, gatewayLogs_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(6, idsLogs_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData) obj;

        boolean result = true;
        result = result && (hasEcuData() == other.hasEcuData());
        if (hasEcuData()) {
          result = result && getEcuData()
              .equals(other.getEcuData());
        }
        result = result && (hasMonthlyPayload() == other.hasMonthlyPayload());
        if (hasMonthlyPayload()) {
          result = result && (getMonthlyPayload()
              == other.getMonthlyPayload());
        }
        result = result && (hasUploadDayOfMonth() == other.hasUploadDayOfMonth());
        if (hasUploadDayOfMonth()) {
          result = result && (getUploadDayOfMonth()
              == other.getUploadDayOfMonth());
        }
        result = result && (hasUploadTimestamp() == other.hasUploadTimestamp());
        if (hasUploadTimestamp()) {
          result = result && (getUploadTimestamp()
              == other.getUploadTimestamp());
        }
        result = result && (hasGatewayLogs() == other.hasGatewayLogs());
        if (hasGatewayLogs()) {
          result = result && getGatewayLogs()
              .equals(other.getGatewayLogs());
        }
        result = result && (hasIdsLogs() == other.hasIdsLogs());
        if (hasIdsLogs()) {
          result = result && getIdsLogs()
              .equals(other.getIdsLogs());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEcuData()) {
          hash = (37 * hash) + ECUDATA_FIELD_NUMBER;
          hash = (53 * hash) + getEcuData().hashCode();
        }
        if (hasMonthlyPayload()) {
          hash = (37 * hash) + MONTHLYPAYLOAD_FIELD_NUMBER;
          hash = (53 * hash) + getMonthlyPayload();
        }
        if (hasUploadDayOfMonth()) {
          hash = (37 * hash) + UPLOADDAYOFMONTH_FIELD_NUMBER;
          hash = (53 * hash) + getUploadDayOfMonth();
        }
        if (hasUploadTimestamp()) {
          hash = (37 * hash) + UPLOADTIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getUploadTimestamp());
        }
        if (hasGatewayLogs()) {
          hash = (37 * hash) + GATEWAYLOGS_FIELD_NUMBER;
          hash = (53 * hash) + getGatewayLogs().hashCode();
        }
        if (hasIdsLogs()) {
          hash = (37 * hash) + IDSLOGS_FIELD_NUMBER;
          hash = (53 * hash) + getIdsLogs().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.SGWData}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.SGWData)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_SGWData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getEcuDataFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (ecuDataBuilder_ == null) {
            ecuData_ = null;
          } else {
            ecuDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          monthlyPayload_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          uploadDayOfMonth_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          uploadTimestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          gatewayLogs_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000010);
          idsLogs_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (ecuDataBuilder_ == null) {
            result.ecuData_ = ecuData_;
          } else {
            result.ecuData_ = ecuDataBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.monthlyPayload_ = monthlyPayload_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.uploadDayOfMonth_ = uploadDayOfMonth_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.uploadTimestamp_ = uploadTimestamp_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.gatewayLogs_ = gatewayLogs_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.idsLogs_ = idsLogs_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance()) return this;
          if (other.hasEcuData()) {
            mergeEcuData(other.getEcuData());
          }
          if (other.hasMonthlyPayload()) {
            setMonthlyPayload(other.getMonthlyPayload());
          }
          if (other.hasUploadDayOfMonth()) {
            setUploadDayOfMonth(other.getUploadDayOfMonth());
          }
          if (other.hasUploadTimestamp()) {
            setUploadTimestamp(other.getUploadTimestamp());
          }
          if (other.hasGatewayLogs()) {
            setGatewayLogs(other.getGatewayLogs());
          }
          if (other.hasIdsLogs()) {
            setIdsLogs(other.getIdsLogs());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData ecuData_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> ecuDataBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public boolean hasEcuData() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData() {
          if (ecuDataBuilder_ == null) {
            return ecuData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance() : ecuData_;
          } else {
            return ecuDataBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public Builder setEcuData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (ecuDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecuData_ = value;
            onChanged();
          } else {
            ecuDataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public Builder setEcuData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (ecuDataBuilder_ == null) {
            ecuData_ = builderForValue.build();
            onChanged();
          } else {
            ecuDataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public Builder mergeEcuData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (ecuDataBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                ecuData_ != null &&
                ecuData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance()) {
              ecuData_ =
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.newBuilder(ecuData_).mergeFrom(value).buildPartial();
            } else {
              ecuData_ = value;
            }
            onChanged();
          } else {
            ecuDataBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public Builder clearEcuData() {
          if (ecuDataBuilder_ == null) {
            ecuData_ = null;
            onChanged();
          } else {
            ecuDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder getEcuDataBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEcuDataFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder() {
          if (ecuDataBuilder_ != null) {
            return ecuDataBuilder_.getMessageOrBuilder();
          } else {
            return ecuData_ == null ?
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance() : ecuData_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData ecuData = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
            getEcuDataFieldBuilder() {
          if (ecuDataBuilder_ == null) {
            ecuDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder>(
                    getEcuData(),
                    getParentForChildren(),
                    isClean());
            ecuData_ = null;
          }
          return ecuDataBuilder_;
        }

        private int monthlyPayload_ ;
        /**
         * <code>optional int32 monthlyPayload = 2;</code>
         */
        public boolean hasMonthlyPayload() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int32 monthlyPayload = 2;</code>
         */
        public int getMonthlyPayload() {
          return monthlyPayload_;
        }
        /**
         * <code>optional int32 monthlyPayload = 2;</code>
         */
        public Builder setMonthlyPayload(int value) {
          bitField0_ |= 0x00000002;
          monthlyPayload_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 monthlyPayload = 2;</code>
         */
        public Builder clearMonthlyPayload() {
          bitField0_ = (bitField0_ & ~0x00000002);
          monthlyPayload_ = 0;
          onChanged();
          return this;
        }

        private int uploadDayOfMonth_ ;
        /**
         * <code>optional int32 uploadDayOfMonth = 3;</code>
         */
        public boolean hasUploadDayOfMonth() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional int32 uploadDayOfMonth = 3;</code>
         */
        public int getUploadDayOfMonth() {
          return uploadDayOfMonth_;
        }
        /**
         * <code>optional int32 uploadDayOfMonth = 3;</code>
         */
        public Builder setUploadDayOfMonth(int value) {
          bitField0_ |= 0x00000004;
          uploadDayOfMonth_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 uploadDayOfMonth = 3;</code>
         */
        public Builder clearUploadDayOfMonth() {
          bitField0_ = (bitField0_ & ~0x00000004);
          uploadDayOfMonth_ = 0;
          onChanged();
          return this;
        }

        private long uploadTimestamp_ ;
        /**
         * <code>optional int64 uploadTimestamp = 4;</code>
         */
        public boolean hasUploadTimestamp() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional int64 uploadTimestamp = 4;</code>
         */
        public long getUploadTimestamp() {
          return uploadTimestamp_;
        }
        /**
         * <code>optional int64 uploadTimestamp = 4;</code>
         */
        public Builder setUploadTimestamp(long value) {
          bitField0_ |= 0x00000008;
          uploadTimestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 uploadTimestamp = 4;</code>
         */
        public Builder clearUploadTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000008);
          uploadTimestamp_ = 0L;
          onChanged();
          return this;
        }

        private com.google.protobuf.ByteString gatewayLogs_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * <code>optional bytes gatewayLogs = 5;</code>
         */
        public boolean hasGatewayLogs() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional bytes gatewayLogs = 5;</code>
         */
        public com.google.protobuf.ByteString getGatewayLogs() {
          return gatewayLogs_;
        }
        /**
         * <code>optional bytes gatewayLogs = 5;</code>
         */
        public Builder setGatewayLogs(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
          gatewayLogs_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bytes gatewayLogs = 5;</code>
         */
        public Builder clearGatewayLogs() {
          bitField0_ = (bitField0_ & ~0x00000010);
          gatewayLogs_ = getDefaultInstance().getGatewayLogs();
          onChanged();
          return this;
        }

        private com.google.protobuf.ByteString idsLogs_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * <code>optional bytes idsLogs = 6;</code>
         */
        public boolean hasIdsLogs() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * <code>optional bytes idsLogs = 6;</code>
         */
        public com.google.protobuf.ByteString getIdsLogs() {
          return idsLogs_;
        }
        /**
         * <code>optional bytes idsLogs = 6;</code>
         */
        public Builder setIdsLogs(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
          idsLogs_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bytes idsLogs = 6;</code>
         */
        public Builder clearIdsLogs() {
          bitField0_ = (bitField0_ & ~0x00000020);
          idsLogs_ = getDefaultInstance().getIdsLogs();
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.SGWData)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.SGWData)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<SGWData>
          PARSER = new com.google.protobuf.AbstractParser<SGWData>() {
        public SGWData parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new SGWData(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface GenericDataOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.GenericData)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      boolean hasVehicleData();
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData();
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder();
    }
    /**
     * <pre>
     **
     * A set of data values collected in response to a SQDFRequest with a command of SQDFCommand.SendData..
     *&lt;div class=exmsg-main&gt;
     * &lt;h4&gt;GenericData Example for SQDF.GenericData &lt;/h4&gt;
     * &lt;div class=ex-msg&gt;
     *	&lt;code&gt;
     *      timestamp: 1489075048380
     *      messageId: 0
     *      messages
     *      {
     *          [com.fca.uconnect.global.sQDFData] {
     *			vehicleId:
     *           }
     *      }
     *   &lt;/code&gt;
     * &lt;/div&gt;
     * &lt;/div&gt;
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.GenericData}
     */
    public  static final class GenericData extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.GenericData)
        GenericDataOrBuilder {
      // Use GenericData.newBuilder() to construct.
      private GenericData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private GenericData() {
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private GenericData(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder subBuilder = null;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                  subBuilder = vehicleData_.toBuilder();
                }
                vehicleData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(vehicleData_);
                  vehicleData_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000001;
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_GenericData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder.class);
      }

      private int bitField0_;
      public static final int VEHICLEDATA_FIELD_NUMBER = 1;
      private com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData vehicleData_;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      public boolean hasVehicleData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData() {
        return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder() {
        return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, getVehicleData());
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, getVehicleData());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData) obj;

        boolean result = true;
        result = result && (hasVehicleData() == other.hasVehicleData());
        if (hasVehicleData()) {
          result = result && getVehicleData()
              .equals(other.getVehicleData());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasVehicleData()) {
          hash = (37 * hash) + VEHICLEDATA_FIELD_NUMBER;
          hash = (53 * hash) + getVehicleData().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * <pre>
       **
       * A set of data values collected in response to a SQDFRequest with a command of SQDFCommand.SendData..
       *&lt;div class=exmsg-main&gt;
       * &lt;h4&gt;GenericData Example for SQDF.GenericData &lt;/h4&gt;
       * &lt;div class=ex-msg&gt;
       *	&lt;code&gt;
       *      timestamp: 1489075048380
       *      messageId: 0
       *      messages
       *      {
       *          [com.fca.uconnect.global.sQDFData] {
       *			vehicleId:
       *           }
       *      }
       *   &lt;/code&gt;
       * &lt;/div&gt;
       * &lt;/div&gt;
       * </pre>
       *
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.GenericData}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.GenericData)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_GenericData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getVehicleDataFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = null;
          } else {
            vehicleDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (vehicleDataBuilder_ == null) {
            result.vehicleData_ = vehicleData_;
          } else {
            result.vehicleData_ = vehicleDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance()) return this;
          if (other.hasVehicleData()) {
            mergeVehicleData(other.getVehicleData());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData vehicleData_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder> vehicleDataBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public boolean hasVehicleData() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData() {
          if (vehicleDataBuilder_ == null) {
            return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
          } else {
            return vehicleDataBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public Builder setVehicleData(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData value) {
          if (vehicleDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            vehicleData_ = value;
            onChanged();
          } else {
            vehicleDataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public Builder setVehicleData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder builderForValue) {
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = builderForValue.build();
            onChanged();
          } else {
            vehicleDataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public Builder mergeVehicleData(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData value) {
          if (vehicleDataBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                vehicleData_ != null &&
                vehicleData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance()) {
              vehicleData_ =
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.newBuilder(vehicleData_).mergeFrom(value).buildPartial();
            } else {
              vehicleData_ = value;
            }
            onChanged();
          } else {
            vehicleDataBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public Builder clearVehicleData() {
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = null;
            onChanged();
          } else {
            vehicleDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder getVehicleDataBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getVehicleDataFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder() {
          if (vehicleDataBuilder_ != null) {
            return vehicleDataBuilder_.getMessageOrBuilder();
          } else {
            return vehicleData_ == null ?
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 1;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder> 
            getVehicleDataFieldBuilder() {
          if (vehicleDataBuilder_ == null) {
            vehicleDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder>(
                    getVehicleData(),
                    getParentForChildren(),
                    isClean());
            vehicleData_ = null;
          }
          return vehicleDataBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.GenericData)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.GenericData)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<GenericData>
          PARSER = new com.google.protobuf.AbstractParser<GenericData>() {
        public GenericData parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new GenericData(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface ECUDataOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.ECUData)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional string ecuId = 1;</code>
       */
      boolean hasEcuId();
      /**
       * <code>optional string ecuId = 1;</code>
       */
      java.lang.String getEcuId();
      /**
       * <code>optional string ecuId = 1;</code>
       */
      com.google.protobuf.ByteString
          getEcuIdBytes();

      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
       */
      boolean hasType();
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType getType();

      /**
       * <code>optional int32 responseId = 3;</code>
       */
      boolean hasResponseId();
      /**
       * <code>optional int32 responseId = 3;</code>
       */
      int getResponseId();

      /**
       * <code>optional bytes canFrame = 4;</code>
       */
      boolean hasCanFrame();
      /**
       * <code>optional bytes canFrame = 4;</code>
       */
      com.google.protobuf.ByteString getCanFrame();
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.ECUData}
     */
    public  static final class ECUData extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.ECUData)
        ECUDataOrBuilder {
      // Use ECUData.newBuilder() to construct.
      private ECUData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private ECUData() {
        ecuId_ = "";
        type_ = 1;
        responseId_ = 0;
        canFrame_ = com.google.protobuf.ByteString.EMPTY;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private ECUData(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                ecuId_ = bs;
                break;
              }
              case 16: {
                int rawValue = input.readEnum();
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType value = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  bitField0_ |= 0x00000002;
                  type_ = rawValue;
                }
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                responseId_ = input.readInt32();
                break;
              }
              case 34: {
                bitField0_ |= 0x00000008;
                canFrame_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_ECUData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder.class);
      }

      /**
       * Protobuf enum {@code com.fca.uconnect.global.SQDFData.ECUData.CanType}
       */
      public enum CanType
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * <code>CCAN = 1;</code>
         */
        CCAN(1),
        /**
         * <code>BHCAN_OR_I_CAN = 2;</code>
         */
        BHCAN_OR_I_CAN(2),
        /**
         * <code>C1_CAN = 3;</code>
         */
        C1_CAN(3),
        /**
         * <code>C2_CAN = 4;</code>
         */
        C2_CAN(4),
        ;

        /**
         * <code>CCAN = 1;</code>
         */
        public static final int CCAN_VALUE = 1;
        /**
         * <code>BHCAN_OR_I_CAN = 2;</code>
         */
        public static final int BHCAN_OR_I_CAN_VALUE = 2;
        /**
         * <code>C1_CAN = 3;</code>
         */
        public static final int C1_CAN_VALUE = 3;
        /**
         * <code>C2_CAN = 4;</code>
         */
        public static final int C2_CAN_VALUE = 4;


        public final int getNumber() {
          return value;
        }

        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static CanType valueOf(int value) {
          return forNumber(value);
        }

        public static CanType forNumber(int value) {
          switch (value) {
            case 1: return CCAN;
            case 2: return BHCAN_OR_I_CAN;
            case 3: return C1_CAN;
            case 4: return C2_CAN;
            default: return null;
          }
        }

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

        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDescriptor().getEnumTypes().get(0);
        }

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

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

        private final int value;

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

        // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFData.ECUData.CanType)
      }

      private int bitField0_;
      public static final int ECUID_FIELD_NUMBER = 1;
      private volatile java.lang.Object ecuId_;
      /**
       * <code>optional string ecuId = 1;</code>
       */
      public boolean hasEcuId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string ecuId = 1;</code>
       */
      public java.lang.String getEcuId() {
        java.lang.Object ref = ecuId_;
        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();
          if (bs.isValidUtf8()) {
            ecuId_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string ecuId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getEcuIdBytes() {
        java.lang.Object ref = ecuId_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ecuId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int TYPE_FIELD_NUMBER = 2;
      private int type_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType getType() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType.valueOf(type_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType.CCAN : result;
      }

      public static final int RESPONSEID_FIELD_NUMBER = 3;
      private int responseId_;
      /**
       * <code>optional int32 responseId = 3;</code>
       */
      public boolean hasResponseId() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 responseId = 3;</code>
       */
      public int getResponseId() {
        return responseId_;
      }

      public static final int CANFRAME_FIELD_NUMBER = 4;
      private com.google.protobuf.ByteString canFrame_;
      /**
       * <code>optional bytes canFrame = 4;</code>
       */
      public boolean hasCanFrame() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional bytes canFrame = 4;</code>
       */
      public com.google.protobuf.ByteString getCanFrame() {
        return canFrame_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, ecuId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeEnum(2, type_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt32(3, responseId_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBytes(4, canFrame_);
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, ecuId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, type_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, responseId_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, canFrame_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData) obj;

        boolean result = true;
        result = result && (hasEcuId() == other.hasEcuId());
        if (hasEcuId()) {
          result = result && getEcuId()
              .equals(other.getEcuId());
        }
        result = result && (hasType() == other.hasType());
        if (hasType()) {
          result = result && type_ == other.type_;
        }
        result = result && (hasResponseId() == other.hasResponseId());
        if (hasResponseId()) {
          result = result && (getResponseId()
              == other.getResponseId());
        }
        result = result && (hasCanFrame() == other.hasCanFrame());
        if (hasCanFrame()) {
          result = result && getCanFrame()
              .equals(other.getCanFrame());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEcuId()) {
          hash = (37 * hash) + ECUID_FIELD_NUMBER;
          hash = (53 * hash) + getEcuId().hashCode();
        }
        if (hasType()) {
          hash = (37 * hash) + TYPE_FIELD_NUMBER;
          hash = (53 * hash) + type_;
        }
        if (hasResponseId()) {
          hash = (37 * hash) + RESPONSEID_FIELD_NUMBER;
          hash = (53 * hash) + getResponseId();
        }
        if (hasCanFrame()) {
          hash = (37 * hash) + CANFRAME_FIELD_NUMBER;
          hash = (53 * hash) + getCanFrame().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.ECUData}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.ECUData)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_ECUData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        public Builder clear() {
          super.clear();
          ecuId_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = 1;
          bitField0_ = (bitField0_ & ~0x00000002);
          responseId_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          canFrame_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.ecuId_ = ecuId_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.responseId_ = responseId_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.canFrame_ = canFrame_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance()) return this;
          if (other.hasEcuId()) {
            bitField0_ |= 0x00000001;
            ecuId_ = other.ecuId_;
            onChanged();
          }
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasResponseId()) {
            setResponseId(other.getResponseId());
          }
          if (other.hasCanFrame()) {
            setCanFrame(other.getCanFrame());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object ecuId_ = "";
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public boolean hasEcuId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public java.lang.String getEcuId() {
          java.lang.Object ref = ecuId_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              ecuId_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public com.google.protobuf.ByteString
            getEcuIdBytes() {
          java.lang.Object ref = ecuId_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ecuId_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public Builder setEcuId(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          ecuId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public Builder clearEcuId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          ecuId_ = getDefaultInstance().getEcuId();
          onChanged();
          return this;
        }
        /**
         * <code>optional string ecuId = 1;</code>
         */
        public Builder setEcuIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          ecuId_ = value;
          onChanged();
          return this;
        }

        private int type_ = 1;
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
         */
        public boolean hasType() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType getType() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType.valueOf(type_);
          return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType.CCAN : result;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
         */
        public Builder setType(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.CanType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          type_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.ECUData.CanType type = 2;</code>
         */
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000002);
          type_ = 1;
          onChanged();
          return this;
        }

        private int responseId_ ;
        /**
         * <code>optional int32 responseId = 3;</code>
         */
        public boolean hasResponseId() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional int32 responseId = 3;</code>
         */
        public int getResponseId() {
          return responseId_;
        }
        /**
         * <code>optional int32 responseId = 3;</code>
         */
        public Builder setResponseId(int value) {
          bitField0_ |= 0x00000004;
          responseId_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 responseId = 3;</code>
         */
        public Builder clearResponseId() {
          bitField0_ = (bitField0_ & ~0x00000004);
          responseId_ = 0;
          onChanged();
          return this;
        }

        private com.google.protobuf.ByteString canFrame_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * <code>optional bytes canFrame = 4;</code>
         */
        public boolean hasCanFrame() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional bytes canFrame = 4;</code>
         */
        public com.google.protobuf.ByteString getCanFrame() {
          return canFrame_;
        }
        /**
         * <code>optional bytes canFrame = 4;</code>
         */
        public Builder setCanFrame(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
          canFrame_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bytes canFrame = 4;</code>
         */
        public Builder clearCanFrame() {
          bitField0_ = (bitField0_ & ~0x00000008);
          canFrame_ = getDefaultInstance().getCanFrame();
          onChanged();
          return this;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.ECUData)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.ECUData)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<ECUData>
          PARSER = new com.google.protobuf.AbstractParser<ECUData>() {
        public ECUData parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new ECUData(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface QuickScanOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.QuickScan)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional int32 ODO = 1;</code>
       */
      boolean hasODO();
      /**
       * <code>optional int32 ODO = 1;</code>
       */
      int getODO();

      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      boolean hasScanVehicleLocation();
      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation();
      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder();

      /**
       * <pre>
       *		optional double gpsLatitude = 3;
       *		optional double gpsLongitude = 4;
       *		optional double gpsAltitude = 5;
       * </pre>
       *
       * <code>optional int64 scanTimestamp = 6;</code>
       */
      boolean hasScanTimestamp();
      /**
       * <pre>
       *		optional double gpsLatitude = 3;
       *		optional double gpsLongitude = 4;
       *		optional double gpsAltitude = 5;
       * </pre>
       *
       * <code>optional int64 scanTimestamp = 6;</code>
       */
      long getScanTimestamp();

      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> 
          getEcuDataList();
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData(int index);
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      int getEcuDataCount();
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
          getEcuDataOrBuilderList();
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.QuickScan}
     */
    public  static final class QuickScan extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.QuickScan)
        QuickScanOrBuilder {
      // Use QuickScan.newBuilder() to construct.
      private QuickScan(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private QuickScan() {
        oDO_ = 0;
        scanTimestamp_ = 0L;
        ecuData_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private QuickScan(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                oDO_ = input.readInt32();
                break;
              }
              case 18: {
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  subBuilder = scanVehicleLocation_.toBuilder();
                }
                scanVehicleLocation_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectGNSS.Location.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(scanVehicleLocation_);
                  scanVehicleLocation_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 48: {
                bitField0_ |= 0x00000004;
                scanTimestamp_ = input.readInt64();
                break;
              }
              case 58: {
                if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                  ecuData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData>();
                  mutable_bitField0_ |= 0x00000008;
                }
                ecuData_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
            ecuData_ = java.util.Collections.unmodifiableList(ecuData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_QuickScan_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder.class);
      }

      private int bitField0_;
      public static final int ODO_FIELD_NUMBER = 1;
      private int oDO_;
      /**
       * <code>optional int32 ODO = 1;</code>
       */
      public boolean hasODO() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 ODO = 1;</code>
       */
      public int getODO() {
        return oDO_;
      }

      public static final int SCANVEHICLELOCATION_FIELD_NUMBER = 2;
      private com.fca.uconnect.global.GlobalUconnectGNSS.Location scanVehicleLocation_;
      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      public boolean hasScanVehicleLocation() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation() {
        return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder() {
        return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
      }

      public static final int SCANTIMESTAMP_FIELD_NUMBER = 6;
      private long scanTimestamp_;
      /**
       * <pre>
       *		optional double gpsLatitude = 3;
       *		optional double gpsLongitude = 4;
       *		optional double gpsAltitude = 5;
       * </pre>
       *
       * <code>optional int64 scanTimestamp = 6;</code>
       */
      public boolean hasScanTimestamp() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *		optional double gpsLatitude = 3;
       *		optional double gpsLongitude = 4;
       *		optional double gpsAltitude = 5;
       * </pre>
       *
       * <code>optional int64 scanTimestamp = 6;</code>
       */
      public long getScanTimestamp() {
        return scanTimestamp_;
      }

      public static final int ECUDATA_FIELD_NUMBER = 7;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> ecuData_;
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> getEcuDataList() {
        return ecuData_;
      }
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
          getEcuDataOrBuilderList() {
        return ecuData_;
      }
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      public int getEcuDataCount() {
        return ecuData_.size();
      }
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData(int index) {
        return ecuData_.get(index);
      }
      /**
       * <pre>
       *	 	repeated QuickScanECUData  ecuData = 7;
       *	 	message QuickScanECUData {
       * 		enum CanType {
       *	 		CCAN = 1;
       *			BHCAN_OR_I_CAN= 2;
       *			C1_CAN= 3;
       *			C2_CAN= 4;
       * 		}
       * 		optional CanType type = 1;
       *		optional int32 responseId = 1;
       * 		optional bytes canFrame = 2;
       * 	}
       * </pre>
       *
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder(
          int index) {
        return ecuData_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, oDO_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, getScanVehicleLocation());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt64(6, scanTimestamp_);
        }
        for (int i = 0; i < ecuData_.size(); i++) {
          output.writeMessage(7, ecuData_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, oDO_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getScanVehicleLocation());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(6, scanTimestamp_);
        }
        for (int i = 0; i < ecuData_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(7, ecuData_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan) obj;

        boolean result = true;
        result = result && (hasODO() == other.hasODO());
        if (hasODO()) {
          result = result && (getODO()
              == other.getODO());
        }
        result = result && (hasScanVehicleLocation() == other.hasScanVehicleLocation());
        if (hasScanVehicleLocation()) {
          result = result && getScanVehicleLocation()
              .equals(other.getScanVehicleLocation());
        }
        result = result && (hasScanTimestamp() == other.hasScanTimestamp());
        if (hasScanTimestamp()) {
          result = result && (getScanTimestamp()
              == other.getScanTimestamp());
        }
        result = result && getEcuDataList()
            .equals(other.getEcuDataList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasODO()) {
          hash = (37 * hash) + ODO_FIELD_NUMBER;
          hash = (53 * hash) + getODO();
        }
        if (hasScanVehicleLocation()) {
          hash = (37 * hash) + SCANVEHICLELOCATION_FIELD_NUMBER;
          hash = (53 * hash) + getScanVehicleLocation().hashCode();
        }
        if (hasScanTimestamp()) {
          hash = (37 * hash) + SCANTIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getScanTimestamp());
        }
        if (getEcuDataCount() > 0) {
          hash = (37 * hash) + ECUDATA_FIELD_NUMBER;
          hash = (53 * hash) + getEcuDataList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.QuickScan}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.QuickScan)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_QuickScan_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getScanVehicleLocationFieldBuilder();
            getEcuDataFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          oDO_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = null;
          } else {
            scanVehicleLocationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          scanTimestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          if (ecuDataBuilder_ == null) {
            ecuData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ecuDataBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.oDO_ = oDO_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (scanVehicleLocationBuilder_ == null) {
            result.scanVehicleLocation_ = scanVehicleLocation_;
          } else {
            result.scanVehicleLocation_ = scanVehicleLocationBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.scanTimestamp_ = scanTimestamp_;
          if (ecuDataBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              ecuData_ = java.util.Collections.unmodifiableList(ecuData_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.ecuData_ = ecuData_;
          } else {
            result.ecuData_ = ecuDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance()) return this;
          if (other.hasODO()) {
            setODO(other.getODO());
          }
          if (other.hasScanVehicleLocation()) {
            mergeScanVehicleLocation(other.getScanVehicleLocation());
          }
          if (other.hasScanTimestamp()) {
            setScanTimestamp(other.getScanTimestamp());
          }
          if (ecuDataBuilder_ == null) {
            if (!other.ecuData_.isEmpty()) {
              if (ecuData_.isEmpty()) {
                ecuData_ = other.ecuData_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureEcuDataIsMutable();
                ecuData_.addAll(other.ecuData_);
              }
              onChanged();
            }
          } else {
            if (!other.ecuData_.isEmpty()) {
              if (ecuDataBuilder_.isEmpty()) {
                ecuDataBuilder_.dispose();
                ecuDataBuilder_ = null;
                ecuData_ = other.ecuData_;
                bitField0_ = (bitField0_ & ~0x00000008);
                ecuDataBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getEcuDataFieldBuilder() : null;
              } else {
                ecuDataBuilder_.addAllMessages(other.ecuData_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int oDO_ ;
        /**
         * <code>optional int32 ODO = 1;</code>
         */
        public boolean hasODO() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int32 ODO = 1;</code>
         */
        public int getODO() {
          return oDO_;
        }
        /**
         * <code>optional int32 ODO = 1;</code>
         */
        public Builder setODO(int value) {
          bitField0_ |= 0x00000001;
          oDO_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 ODO = 1;</code>
         */
        public Builder clearODO() {
          bitField0_ = (bitField0_ & ~0x00000001);
          oDO_ = 0;
          onChanged();
          return this;
        }

        private com.fca.uconnect.global.GlobalUconnectGNSS.Location scanVehicleLocation_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> scanVehicleLocationBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public boolean hasScanVehicleLocation() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation() {
          if (scanVehicleLocationBuilder_ == null) {
            return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
          } else {
            return scanVehicleLocationBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public Builder setScanVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
          if (scanVehicleLocationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            scanVehicleLocation_ = value;
            onChanged();
          } else {
            scanVehicleLocationBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public Builder setScanVehicleLocation(
            com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder builderForValue) {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = builderForValue.build();
            onChanged();
          } else {
            scanVehicleLocationBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public Builder mergeScanVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
          if (scanVehicleLocationBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                scanVehicleLocation_ != null &&
                scanVehicleLocation_ != com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance()) {
              scanVehicleLocation_ =
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.newBuilder(scanVehicleLocation_).mergeFrom(value).buildPartial();
            } else {
              scanVehicleLocation_ = value;
            }
            onChanged();
          } else {
            scanVehicleLocationBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public Builder clearScanVehicleLocation() {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = null;
            onChanged();
          } else {
            scanVehicleLocationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder getScanVehicleLocationBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getScanVehicleLocationFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder() {
          if (scanVehicleLocationBuilder_ != null) {
            return scanVehicleLocationBuilder_.getMessageOrBuilder();
          } else {
            return scanVehicleLocation_ == null ?
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 2;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> 
            getScanVehicleLocationFieldBuilder() {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder>(
                    getScanVehicleLocation(),
                    getParentForChildren(),
                    isClean());
            scanVehicleLocation_ = null;
          }
          return scanVehicleLocationBuilder_;
        }

        private long scanTimestamp_ ;
        /**
         * <pre>
         *		optional double gpsLatitude = 3;
         *		optional double gpsLongitude = 4;
         *		optional double gpsAltitude = 5;
         * </pre>
         *
         * <code>optional int64 scanTimestamp = 6;</code>
         */
        public boolean hasScanTimestamp() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <pre>
         *		optional double gpsLatitude = 3;
         *		optional double gpsLongitude = 4;
         *		optional double gpsAltitude = 5;
         * </pre>
         *
         * <code>optional int64 scanTimestamp = 6;</code>
         */
        public long getScanTimestamp() {
          return scanTimestamp_;
        }
        /**
         * <pre>
         *		optional double gpsLatitude = 3;
         *		optional double gpsLongitude = 4;
         *		optional double gpsAltitude = 5;
         * </pre>
         *
         * <code>optional int64 scanTimestamp = 6;</code>
         */
        public Builder setScanTimestamp(long value) {
          bitField0_ |= 0x00000004;
          scanTimestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *		optional double gpsLatitude = 3;
         *		optional double gpsLongitude = 4;
         *		optional double gpsAltitude = 5;
         * </pre>
         *
         * <code>optional int64 scanTimestamp = 6;</code>
         */
        public Builder clearScanTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000004);
          scanTimestamp_ = 0L;
          onChanged();
          return this;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> ecuData_ =
          java.util.Collections.emptyList();
        private void ensureEcuDataIsMutable() {
          if (!((bitField0_ & 0x00000008) == 0x00000008)) {
            ecuData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData>(ecuData_);
            bitField0_ |= 0x00000008;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> ecuDataBuilder_;

        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> getEcuDataList() {
          if (ecuDataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(ecuData_);
          } else {
            return ecuDataBuilder_.getMessageList();
          }
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public int getEcuDataCount() {
          if (ecuDataBuilder_ == null) {
            return ecuData_.size();
          } else {
            return ecuDataBuilder_.getCount();
          }
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getEcuData(int index) {
          if (ecuDataBuilder_ == null) {
            return ecuData_.get(index);
          } else {
            return ecuDataBuilder_.getMessage(index);
          }
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder setEcuData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (ecuDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEcuDataIsMutable();
            ecuData_.set(index, value);
            onChanged();
          } else {
            ecuDataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder setEcuData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (ecuDataBuilder_ == null) {
            ensureEcuDataIsMutable();
            ecuData_.set(index, builderForValue.build());
            onChanged();
          } else {
            ecuDataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder addEcuData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (ecuDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEcuDataIsMutable();
            ecuData_.add(value);
            onChanged();
          } else {
            ecuDataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder addEcuData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (ecuDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEcuDataIsMutable();
            ecuData_.add(index, value);
            onChanged();
          } else {
            ecuDataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder addEcuData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (ecuDataBuilder_ == null) {
            ensureEcuDataIsMutable();
            ecuData_.add(builderForValue.build());
            onChanged();
          } else {
            ecuDataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder addEcuData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (ecuDataBuilder_ == null) {
            ensureEcuDataIsMutable();
            ecuData_.add(index, builderForValue.build());
            onChanged();
          } else {
            ecuDataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder addAllEcuData(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> values) {
          if (ecuDataBuilder_ == null) {
            ensureEcuDataIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, ecuData_);
            onChanged();
          } else {
            ecuDataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder clearEcuData() {
          if (ecuDataBuilder_ == null) {
            ecuData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            ecuDataBuilder_.clear();
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public Builder removeEcuData(int index) {
          if (ecuDataBuilder_ == null) {
            ensureEcuDataIsMutable();
            ecuData_.remove(index);
            onChanged();
          } else {
            ecuDataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder getEcuDataBuilder(
            int index) {
          return getEcuDataFieldBuilder().getBuilder(index);
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getEcuDataOrBuilder(
            int index) {
          if (ecuDataBuilder_ == null) {
            return ecuData_.get(index);  } else {
            return ecuDataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
             getEcuDataOrBuilderList() {
          if (ecuDataBuilder_ != null) {
            return ecuDataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(ecuData_);
          }
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder addEcuDataBuilder() {
          return getEcuDataFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance());
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder addEcuDataBuilder(
            int index) {
          return getEcuDataFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance());
        }
        /**
         * <pre>
         *	 	repeated QuickScanECUData  ecuData = 7;
         *	 	message QuickScanECUData {
         * 		enum CanType {
         *	 		CCAN = 1;
         *			BHCAN_OR_I_CAN= 2;
         *			C1_CAN= 3;
         *			C2_CAN= 4;
         * 		}
         * 		optional CanType type = 1;
         *		optional int32 responseId = 1;
         * 		optional bytes canFrame = 2;
         * 	}
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData ecuData = 7;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder> 
             getEcuDataBuilderList() {
          return getEcuDataFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
            getEcuDataFieldBuilder() {
          if (ecuDataBuilder_ == null) {
            ecuDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder>(
                    ecuData_,
                    ((bitField0_ & 0x00000008) == 0x00000008),
                    getParentForChildren(),
                    isClean());
            ecuData_ = null;
          }
          return ecuDataBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.QuickScan)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.QuickScan)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<QuickScan>
          PARSER = new com.google.protobuf.AbstractParser<QuickScan>() {
        public QuickScan parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new QuickScan(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface DTCScanOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.DTCScan)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      java.util.List<java.lang.String>
          getMaskedDTCsList();
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      int getMaskedDTCsCount();
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      java.lang.String getMaskedDTCs(int index);
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      com.google.protobuf.ByteString
          getMaskedDTCsBytes(int index);

      /**
       * <pre>
       *&#47;time when dtc is detected
       * </pre>
       *
       * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
       */
      boolean hasTriggerDTCDetectionTimestamp();
      /**
       * <pre>
       *&#47;time when dtc is detected
       * </pre>
       *
       * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
       */
      long getTriggerDTCDetectionTimestamp();

      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> 
          getTriggersList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getTriggers(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      int getTriggersCount();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder> 
          getTriggersOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder getTriggersOrBuilder(
          int index);

      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      boolean hasVehicleData();
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData();
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder();

      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> 
          getDtcScanECUDataList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDtcScanECUData(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      int getDtcScanECUDataCount();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
          getDtcScanECUDataOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getDtcScanECUDataOrBuilder(
          int index);

      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      boolean hasScanVehicleLocation();
      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation();
      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder();
    }
    /**
     * <pre>
     **
     * The data generated by a DTCScan.
     *&lt;div class=exmsg-main&gt;
     * &lt;h4&gt;GenericData Example for SQDF.GenericData policy&lt;/h4&gt;
     * &lt;div class=ex-msg&gt;
     *	&lt;code&gt;
     *      timestamp: 1489075048380
     *      messageId: 0
     *      messages
     *      {
     *          [com.fca.uconnect.global.sQDFData] {
     *			vehicleId:
     *           }
     *      }
     *   &lt;/code&gt;
     * &lt;/div&gt;
     * &lt;/div&gt;
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.DTCScan}
     */
    public  static final class DTCScan extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.DTCScan)
        DTCScanOrBuilder {
      // Use DTCScan.newBuilder() to construct.
      private DTCScan(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DTCScan() {
        maskedDTCs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        triggerDTCDetectionTimestamp_ = 0L;
        triggers_ = java.util.Collections.emptyList();
        dtcScanECUData_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private DTCScan(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                  maskedDTCs_ = new com.google.protobuf.LazyStringArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                maskedDTCs_.add(bs);
                break;
              }
              case 16: {
                bitField0_ |= 0x00000001;
                triggerDTCDetectionTimestamp_ = input.readInt64();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  triggers_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger>();
                  mutable_bitField0_ |= 0x00000004;
                }
                triggers_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.PARSER, extensionRegistry));
                break;
              }
              case 34: {
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder subBuilder = null;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                  subBuilder = vehicleData_.toBuilder();
                }
                vehicleData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(vehicleData_);
                  vehicleData_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000002;
                break;
              }
              case 42: {
                if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                  dtcScanECUData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData>();
                  mutable_bitField0_ |= 0x00000010;
                }
                dtcScanECUData_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.PARSER, extensionRegistry));
                break;
              }
              case 50: {
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder subBuilder = null;
                if (((bitField0_ & 0x00000004) == 0x00000004)) {
                  subBuilder = scanVehicleLocation_.toBuilder();
                }
                scanVehicleLocation_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectGNSS.Location.PARSER, extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(scanVehicleLocation_);
                  scanVehicleLocation_ = subBuilder.buildPartial();
                }
                bitField0_ |= 0x00000004;
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
            maskedDTCs_ = maskedDTCs_.getUnmodifiableView();
          }
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            triggers_ = java.util.Collections.unmodifiableList(triggers_);
          }
          if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
            dtcScanECUData_ = java.util.Collections.unmodifiableList(dtcScanECUData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder.class);
      }

      public interface DTCTriggerOrBuilder extends
          // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
         */
        boolean hasTrigger();
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType getTrigger();

        /**
         * <code>optional string name = 2;</code>
         */
        boolean hasName();
        /**
         * <code>optional string name = 2;</code>
         */
        java.lang.String getName();
        /**
         * <code>optional string name = 2;</code>
         */
        com.google.protobuf.ByteString
            getNameBytes();
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger}
       */
      public  static final class DTCTrigger extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger)
          DTCTriggerOrBuilder {
        // Use DTCTrigger.newBuilder() to construct.
        private DTCTrigger(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private DTCTrigger() {
          trigger_ = 1;
          name_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private DTCTrigger(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  int rawValue = input.readEnum();
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType value = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType.valueOf(rawValue);
                  if (value == null) {
                    unknownFields.mergeVarintField(1, rawValue);
                  } else {
                    bitField0_ |= 0x00000001;
                    trigger_ = rawValue;
                  }
                  break;
                }
                case 18: {
                  com.google.protobuf.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  name_ = bs;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder.class);
        }

        /**
         * Protobuf enum {@code com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType}
         */
        public enum DTCTriggerType
            implements com.google.protobuf.ProtocolMessageEnum {
          /**
           * <code>ECU = 1;</code>
           */
          ECU(1),
          /**
           * <code>LAMP = 2;</code>
           */
          LAMP(2),
          /**
           * <code>ECU_SWAP = 3;</code>
           */
          ECU_SWAP(3),
          ;

          /**
           * <code>ECU = 1;</code>
           */
          public static final int ECU_VALUE = 1;
          /**
           * <code>LAMP = 2;</code>
           */
          public static final int LAMP_VALUE = 2;
          /**
           * <code>ECU_SWAP = 3;</code>
           */
          public static final int ECU_SWAP_VALUE = 3;


          public final int getNumber() {
            return value;
          }

          /**
           * @deprecated Use {@link #forNumber(int)} instead.
           */
          @java.lang.Deprecated
          public static DTCTriggerType valueOf(int value) {
            return forNumber(value);
          }

          public static DTCTriggerType forNumber(int value) {
            switch (value) {
              case 1: return ECU;
              case 2: return LAMP;
              case 3: return ECU_SWAP;
              default: return null;
            }
          }

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

          public final com.google.protobuf.Descriptors.EnumValueDescriptor
              getValueDescriptor() {
            return getDescriptor().getValues().get(ordinal());
          }
          public final com.google.protobuf.Descriptors.EnumDescriptor
              getDescriptorForType() {
            return getDescriptor();
          }
          public static final com.google.protobuf.Descriptors.EnumDescriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.getDescriptor().getEnumTypes().get(0);
          }

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

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

          private final int value;

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

          // @@protoc_insertion_point(enum_scope:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType)
        }

        private int bitField0_;
        public static final int TRIGGER_FIELD_NUMBER = 1;
        private int trigger_;
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
         */
        public boolean hasTrigger() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType getTrigger() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType.valueOf(trigger_);
          return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType.ECU : result;
        }

        public static final int NAME_FIELD_NUMBER = 2;
        private volatile java.lang.Object name_;
        /**
         * <code>optional string name = 2;</code>
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional string name = 2;</code>
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          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();
            if (bs.isValidUtf8()) {
              name_ = s;
            }
            return s;
          }
        }
        /**
         * <code>optional string name = 2;</code>
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeEnum(1, trigger_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
          }
          unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeEnumSize(1, trigger_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger)) {
            return super.equals(obj);
          }
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger) obj;

          boolean result = true;
          result = result && (hasTrigger() == other.hasTrigger());
          if (hasTrigger()) {
            result = result && trigger_ == other.trigger_;
          }
          result = result && (hasName() == other.hasName());
          if (hasName()) {
            result = result && getName()
                .equals(other.getName());
          }
          result = result && unknownFields.equals(other.unknownFields);
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptorForType().hashCode();
          if (hasTrigger()) {
            hash = (37 * hash) + TRIGGER_FIELD_NUMBER;
            hash = (53 * hash) + trigger_;
          }
          if (hasName()) {
            hash = (37 * hash) + NAME_FIELD_NUMBER;
            hash = (53 * hash) + getName().hashCode();
          }
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger)
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder.class);
          }

          // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          public Builder clear() {
            super.clear();
            trigger_ = 1;
            bitField0_ = (bitField0_ & ~0x00000001);
            name_ = "";
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getDefaultInstanceForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.getDefaultInstance();
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger build() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger buildPartial() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.trigger_ = trigger_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            result.name_ = name_;
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger) {
              return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger other) {
            if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.getDefaultInstance()) return this;
            if (other.hasTrigger()) {
              setTrigger(other.getTrigger());
            }
            if (other.hasName()) {
              bitField0_ |= 0x00000002;
              name_ = other.name_;
              onChanged();
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          private int trigger_ = 1;
          /**
           * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
           */
          public boolean hasTrigger() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType getTrigger() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType.valueOf(trigger_);
            return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType.ECU : result;
          }
          /**
           * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
           */
          public Builder setTrigger(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.DTCTriggerType value) {
            if (value == null) {
              throw new NullPointerException();
            }
            bitField0_ |= 0x00000001;
            trigger_ = value.getNumber();
            onChanged();
            return this;
          }
          /**
           * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger.DTCTriggerType trigger = 1;</code>
           */
          public Builder clearTrigger() {
            bitField0_ = (bitField0_ & ~0x00000001);
            trigger_ = 1;
            onChanged();
            return this;
          }

          private java.lang.Object name_ = "";
          /**
           * <code>optional string name = 2;</code>
           */
          public boolean hasName() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional string name = 2;</code>
           */
          public java.lang.String getName() {
            java.lang.Object ref = name_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                name_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * <code>optional string name = 2;</code>
           */
          public com.google.protobuf.ByteString
              getNameBytes() {
            java.lang.Object ref = name_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              name_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * <code>optional string name = 2;</code>
           */
          public Builder setName(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
            name_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional string name = 2;</code>
           */
          public Builder clearName() {
            bitField0_ = (bitField0_ & ~0x00000002);
            name_ = getDefaultInstance().getName();
            onChanged();
            return this;
          }
          /**
           * <code>optional string name = 2;</code>
           */
          public Builder setNameBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
            name_ = value;
            onChanged();
            return this;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

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


          // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger)
        }

        // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger)
        private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger();
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated public static final com.google.protobuf.Parser<DTCTrigger>
            PARSER = new com.google.protobuf.AbstractParser<DTCTrigger>() {
          public DTCTrigger parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new DTCTrigger(input, extensionRegistry);
          }
        };

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

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

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int bitField0_;
      public static final int MASKEDDTCS_FIELD_NUMBER = 1;
      private com.google.protobuf.LazyStringList maskedDTCs_;
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getMaskedDTCsList() {
        return maskedDTCs_;
      }
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      public int getMaskedDTCsCount() {
        return maskedDTCs_.size();
      }
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      public java.lang.String getMaskedDTCs(int index) {
        return maskedDTCs_.get(index);
      }
      /**
       * <pre>
       *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
       * </pre>
       *
       * <code>repeated string maskedDTCs = 1;</code>
       */
      public com.google.protobuf.ByteString
          getMaskedDTCsBytes(int index) {
        return maskedDTCs_.getByteString(index);
      }

      public static final int TRIGGERDTCDETECTIONTIMESTAMP_FIELD_NUMBER = 2;
      private long triggerDTCDetectionTimestamp_;
      /**
       * <pre>
       *&#47;time when dtc is detected
       * </pre>
       *
       * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
       */
      public boolean hasTriggerDTCDetectionTimestamp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;time when dtc is detected
       * </pre>
       *
       * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
       */
      public long getTriggerDTCDetectionTimestamp() {
        return triggerDTCDetectionTimestamp_;
      }

      public static final int TRIGGERS_FIELD_NUMBER = 3;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> triggers_;
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> getTriggersList() {
        return triggers_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder> 
          getTriggersOrBuilderList() {
        return triggers_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      public int getTriggersCount() {
        return triggers_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getTriggers(int index) {
        return triggers_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder getTriggersOrBuilder(
          int index) {
        return triggers_.get(index);
      }

      public static final int VEHICLEDATA_FIELD_NUMBER = 4;
      private com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData vehicleData_;
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      public boolean hasVehicleData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData() {
        return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
      }
      /**
       * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder() {
        return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
      }

      public static final int DTCSCANECUDATA_FIELD_NUMBER = 5;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> dtcScanECUData_;
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> getDtcScanECUDataList() {
        return dtcScanECUData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
          getDtcScanECUDataOrBuilderList() {
        return dtcScanECUData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      public int getDtcScanECUDataCount() {
        return dtcScanECUData_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDtcScanECUData(int index) {
        return dtcScanECUData_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getDtcScanECUDataOrBuilder(
          int index) {
        return dtcScanECUData_.get(index);
      }

      public static final int SCANVEHICLELOCATION_FIELD_NUMBER = 6;
      private com.fca.uconnect.global.GlobalUconnectGNSS.Location scanVehicleLocation_;
      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      public boolean hasScanVehicleLocation() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation() {
        return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
      }
      /**
       * <pre>
       *		repeated DTCScanECUData dtcScanECUData = 6;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder() {
        return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        for (int i = 0; i < maskedDTCs_.size(); i++) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, maskedDTCs_.getRaw(i));
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt64(2, triggerDTCDetectionTimestamp_);
        }
        for (int i = 0; i < triggers_.size(); i++) {
          output.writeMessage(3, triggers_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(4, getVehicleData());
        }
        for (int i = 0; i < dtcScanECUData_.size(); i++) {
          output.writeMessage(5, dtcScanECUData_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeMessage(6, getScanVehicleLocation());
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        {
          int dataSize = 0;
          for (int i = 0; i < maskedDTCs_.size(); i++) {
            dataSize += computeStringSizeNoTag(maskedDTCs_.getRaw(i));
          }
          size += dataSize;
          size += 1 * getMaskedDTCsList().size();
        }
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, triggerDTCDetectionTimestamp_);
        }
        for (int i = 0; i < triggers_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, triggers_.get(i));
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, getVehicleData());
        }
        for (int i = 0; i < dtcScanECUData_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, dtcScanECUData_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, getScanVehicleLocation());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan) obj;

        boolean result = true;
        result = result && getMaskedDTCsList()
            .equals(other.getMaskedDTCsList());
        result = result && (hasTriggerDTCDetectionTimestamp() == other.hasTriggerDTCDetectionTimestamp());
        if (hasTriggerDTCDetectionTimestamp()) {
          result = result && (getTriggerDTCDetectionTimestamp()
              == other.getTriggerDTCDetectionTimestamp());
        }
        result = result && getTriggersList()
            .equals(other.getTriggersList());
        result = result && (hasVehicleData() == other.hasVehicleData());
        if (hasVehicleData()) {
          result = result && getVehicleData()
              .equals(other.getVehicleData());
        }
        result = result && getDtcScanECUDataList()
            .equals(other.getDtcScanECUDataList());
        result = result && (hasScanVehicleLocation() == other.hasScanVehicleLocation());
        if (hasScanVehicleLocation()) {
          result = result && getScanVehicleLocation()
              .equals(other.getScanVehicleLocation());
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (getMaskedDTCsCount() > 0) {
          hash = (37 * hash) + MASKEDDTCS_FIELD_NUMBER;
          hash = (53 * hash) + getMaskedDTCsList().hashCode();
        }
        if (hasTriggerDTCDetectionTimestamp()) {
          hash = (37 * hash) + TRIGGERDTCDETECTIONTIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getTriggerDTCDetectionTimestamp());
        }
        if (getTriggersCount() > 0) {
          hash = (37 * hash) + TRIGGERS_FIELD_NUMBER;
          hash = (53 * hash) + getTriggersList().hashCode();
        }
        if (hasVehicleData()) {
          hash = (37 * hash) + VEHICLEDATA_FIELD_NUMBER;
          hash = (53 * hash) + getVehicleData().hashCode();
        }
        if (getDtcScanECUDataCount() > 0) {
          hash = (37 * hash) + DTCSCANECUDATA_FIELD_NUMBER;
          hash = (53 * hash) + getDtcScanECUDataList().hashCode();
        }
        if (hasScanVehicleLocation()) {
          hash = (37 * hash) + SCANVEHICLELOCATION_FIELD_NUMBER;
          hash = (53 * hash) + getScanVehicleLocation().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * <pre>
       **
       * The data generated by a DTCScan.
       *&lt;div class=exmsg-main&gt;
       * &lt;h4&gt;GenericData Example for SQDF.GenericData policy&lt;/h4&gt;
       * &lt;div class=ex-msg&gt;
       *	&lt;code&gt;
       *      timestamp: 1489075048380
       *      messageId: 0
       *      messages
       *      {
       *          [com.fca.uconnect.global.sQDFData] {
       *			vehicleId:
       *           }
       *      }
       *   &lt;/code&gt;
       * &lt;/div&gt;
       * &lt;/div&gt;
       * </pre>
       *
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.DTCScan}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.DTCScan)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getTriggersFieldBuilder();
            getVehicleDataFieldBuilder();
            getDtcScanECUDataFieldBuilder();
            getScanVehicleLocationFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          maskedDTCs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          triggerDTCDetectionTimestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (triggersBuilder_ == null) {
            triggers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            triggersBuilder_.clear();
          }
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = null;
          } else {
            vehicleDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          if (dtcScanECUDataBuilder_ == null) {
            dtcScanECUData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            dtcScanECUDataBuilder_.clear();
          }
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = null;
          } else {
            scanVehicleLocationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            maskedDTCs_ = maskedDTCs_.getUnmodifiableView();
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.maskedDTCs_ = maskedDTCs_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000001;
          }
          result.triggerDTCDetectionTimestamp_ = triggerDTCDetectionTimestamp_;
          if (triggersBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              triggers_ = java.util.Collections.unmodifiableList(triggers_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.triggers_ = triggers_;
          } else {
            result.triggers_ = triggersBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000002;
          }
          if (vehicleDataBuilder_ == null) {
            result.vehicleData_ = vehicleData_;
          } else {
            result.vehicleData_ = vehicleDataBuilder_.build();
          }
          if (dtcScanECUDataBuilder_ == null) {
            if (((bitField0_ & 0x00000010) == 0x00000010)) {
              dtcScanECUData_ = java.util.Collections.unmodifiableList(dtcScanECUData_);
              bitField0_ = (bitField0_ & ~0x00000010);
            }
            result.dtcScanECUData_ = dtcScanECUData_;
          } else {
            result.dtcScanECUData_ = dtcScanECUDataBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000004;
          }
          if (scanVehicleLocationBuilder_ == null) {
            result.scanVehicleLocation_ = scanVehicleLocation_;
          } else {
            result.scanVehicleLocation_ = scanVehicleLocationBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance()) return this;
          if (!other.maskedDTCs_.isEmpty()) {
            if (maskedDTCs_.isEmpty()) {
              maskedDTCs_ = other.maskedDTCs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureMaskedDTCsIsMutable();
              maskedDTCs_.addAll(other.maskedDTCs_);
            }
            onChanged();
          }
          if (other.hasTriggerDTCDetectionTimestamp()) {
            setTriggerDTCDetectionTimestamp(other.getTriggerDTCDetectionTimestamp());
          }
          if (triggersBuilder_ == null) {
            if (!other.triggers_.isEmpty()) {
              if (triggers_.isEmpty()) {
                triggers_ = other.triggers_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureTriggersIsMutable();
                triggers_.addAll(other.triggers_);
              }
              onChanged();
            }
          } else {
            if (!other.triggers_.isEmpty()) {
              if (triggersBuilder_.isEmpty()) {
                triggersBuilder_.dispose();
                triggersBuilder_ = null;
                triggers_ = other.triggers_;
                bitField0_ = (bitField0_ & ~0x00000004);
                triggersBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getTriggersFieldBuilder() : null;
              } else {
                triggersBuilder_.addAllMessages(other.triggers_);
              }
            }
          }
          if (other.hasVehicleData()) {
            mergeVehicleData(other.getVehicleData());
          }
          if (dtcScanECUDataBuilder_ == null) {
            if (!other.dtcScanECUData_.isEmpty()) {
              if (dtcScanECUData_.isEmpty()) {
                dtcScanECUData_ = other.dtcScanECUData_;
                bitField0_ = (bitField0_ & ~0x00000010);
              } else {
                ensureDtcScanECUDataIsMutable();
                dtcScanECUData_.addAll(other.dtcScanECUData_);
              }
              onChanged();
            }
          } else {
            if (!other.dtcScanECUData_.isEmpty()) {
              if (dtcScanECUDataBuilder_.isEmpty()) {
                dtcScanECUDataBuilder_.dispose();
                dtcScanECUDataBuilder_ = null;
                dtcScanECUData_ = other.dtcScanECUData_;
                bitField0_ = (bitField0_ & ~0x00000010);
                dtcScanECUDataBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getDtcScanECUDataFieldBuilder() : null;
              } else {
                dtcScanECUDataBuilder_.addAllMessages(other.dtcScanECUData_);
              }
            }
          }
          if (other.hasScanVehicleLocation()) {
            mergeScanVehicleLocation(other.getScanVehicleLocation());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private com.google.protobuf.LazyStringList maskedDTCs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        private void ensureMaskedDTCsIsMutable() {
          if (!((bitField0_ & 0x00000001) == 0x00000001)) {
            maskedDTCs_ = new com.google.protobuf.LazyStringArrayList(maskedDTCs_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public com.google.protobuf.ProtocolStringList
            getMaskedDTCsList() {
          return maskedDTCs_.getUnmodifiableView();
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public int getMaskedDTCsCount() {
          return maskedDTCs_.size();
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public java.lang.String getMaskedDTCs(int index) {
          return maskedDTCs_.get(index);
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public com.google.protobuf.ByteString
            getMaskedDTCsBytes(int index) {
          return maskedDTCs_.getByteString(index);
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public Builder setMaskedDTCs(
            int index, java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureMaskedDTCsIsMutable();
          maskedDTCs_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public Builder addMaskedDTCs(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureMaskedDTCsIsMutable();
          maskedDTCs_.add(value);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public Builder addAllMaskedDTCs(
            java.lang.Iterable<java.lang.String> values) {
          ensureMaskedDTCsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, maskedDTCs_);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public Builder clearMaskedDTCs() {
          maskedDTCs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;list of DTCs to not send - to squelch excessive traffic in the event of errors.
         * </pre>
         *
         * <code>repeated string maskedDTCs = 1;</code>
         */
        public Builder addMaskedDTCsBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureMaskedDTCsIsMutable();
          maskedDTCs_.add(value);
          onChanged();
          return this;
        }

        private long triggerDTCDetectionTimestamp_ ;
        /**
         * <pre>
         *&#47;time when dtc is detected
         * </pre>
         *
         * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
         */
        public boolean hasTriggerDTCDetectionTimestamp() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <pre>
         *&#47;time when dtc is detected
         * </pre>
         *
         * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
         */
        public long getTriggerDTCDetectionTimestamp() {
          return triggerDTCDetectionTimestamp_;
        }
        /**
         * <pre>
         *&#47;time when dtc is detected
         * </pre>
         *
         * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
         */
        public Builder setTriggerDTCDetectionTimestamp(long value) {
          bitField0_ |= 0x00000002;
          triggerDTCDetectionTimestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;time when dtc is detected
         * </pre>
         *
         * <code>optional int64 triggerDTCDetectionTimestamp = 2;</code>
         */
        public Builder clearTriggerDTCDetectionTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000002);
          triggerDTCDetectionTimestamp_ = 0L;
          onChanged();
          return this;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> triggers_ =
          java.util.Collections.emptyList();
        private void ensureTriggersIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            triggers_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger>(triggers_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder> triggersBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> getTriggersList() {
          if (triggersBuilder_ == null) {
            return java.util.Collections.unmodifiableList(triggers_);
          } else {
            return triggersBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public int getTriggersCount() {
          if (triggersBuilder_ == null) {
            return triggers_.size();
          } else {
            return triggersBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger getTriggers(int index) {
          if (triggersBuilder_ == null) {
            return triggers_.get(index);
          } else {
            return triggersBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder setTriggers(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger value) {
          if (triggersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTriggersIsMutable();
            triggers_.set(index, value);
            onChanged();
          } else {
            triggersBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder setTriggers(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder builderForValue) {
          if (triggersBuilder_ == null) {
            ensureTriggersIsMutable();
            triggers_.set(index, builderForValue.build());
            onChanged();
          } else {
            triggersBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder addTriggers(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger value) {
          if (triggersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTriggersIsMutable();
            triggers_.add(value);
            onChanged();
          } else {
            triggersBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder addTriggers(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger value) {
          if (triggersBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTriggersIsMutable();
            triggers_.add(index, value);
            onChanged();
          } else {
            triggersBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder addTriggers(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder builderForValue) {
          if (triggersBuilder_ == null) {
            ensureTriggersIsMutable();
            triggers_.add(builderForValue.build());
            onChanged();
          } else {
            triggersBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder addTriggers(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder builderForValue) {
          if (triggersBuilder_ == null) {
            ensureTriggersIsMutable();
            triggers_.add(index, builderForValue.build());
            onChanged();
          } else {
            triggersBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder addAllTriggers(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger> values) {
          if (triggersBuilder_ == null) {
            ensureTriggersIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, triggers_);
            onChanged();
          } else {
            triggersBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder clearTriggers() {
          if (triggersBuilder_ == null) {
            triggers_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            triggersBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public Builder removeTriggers(int index) {
          if (triggersBuilder_ == null) {
            ensureTriggersIsMutable();
            triggers_.remove(index);
            onChanged();
          } else {
            triggersBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder getTriggersBuilder(
            int index) {
          return getTriggersFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder getTriggersOrBuilder(
            int index) {
          if (triggersBuilder_ == null) {
            return triggers_.get(index);  } else {
            return triggersBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder> 
             getTriggersOrBuilderList() {
          if (triggersBuilder_ != null) {
            return triggersBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(triggers_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder addTriggersBuilder() {
          return getTriggersFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder addTriggersBuilder(
            int index) {
          return getTriggersFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DTCScan.DTCTrigger triggers = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder> 
             getTriggersBuilderList() {
          return getTriggersFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder> 
            getTriggersFieldBuilder() {
          if (triggersBuilder_ == null) {
            triggersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTrigger.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.DTCTriggerOrBuilder>(
                    triggers_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            triggers_ = null;
          }
          return triggersBuilder_;
        }

        private com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData vehicleData_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder> vehicleDataBuilder_;
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public boolean hasVehicleData() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData getVehicleData() {
          if (vehicleDataBuilder_ == null) {
            return vehicleData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
          } else {
            return vehicleDataBuilder_.getMessage();
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public Builder setVehicleData(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData value) {
          if (vehicleDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            vehicleData_ = value;
            onChanged();
          } else {
            vehicleDataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public Builder setVehicleData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder builderForValue) {
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = builderForValue.build();
            onChanged();
          } else {
            vehicleDataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public Builder mergeVehicleData(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData value) {
          if (vehicleDataBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008) &&
                vehicleData_ != null &&
                vehicleData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance()) {
              vehicleData_ =
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.newBuilder(vehicleData_).mergeFrom(value).buildPartial();
            } else {
              vehicleData_ = value;
            }
            onChanged();
          } else {
            vehicleDataBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public Builder clearVehicleData() {
          if (vehicleDataBuilder_ == null) {
            vehicleData_ = null;
            onChanged();
          } else {
            vehicleDataBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder getVehicleDataBuilder() {
          bitField0_ |= 0x00000008;
          onChanged();
          return getVehicleDataFieldBuilder().getBuilder();
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder getVehicleDataOrBuilder() {
          if (vehicleDataBuilder_ != null) {
            return vehicleDataBuilder_.getMessageOrBuilder();
          } else {
            return vehicleData_ == null ?
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.getDefaultInstance() : vehicleData_;
          }
        }
        /**
         * <code>optional .com.fca.uconnect.global.VehicleData vehicleData = 4;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder> 
            getVehicleDataFieldBuilder() {
          if (vehicleDataBuilder_ == null) {
            vehicleDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleDataOrBuilder>(
                    getVehicleData(),
                    getParentForChildren(),
                    isClean());
            vehicleData_ = null;
          }
          return vehicleDataBuilder_;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> dtcScanECUData_ =
          java.util.Collections.emptyList();
        private void ensureDtcScanECUDataIsMutable() {
          if (!((bitField0_ & 0x00000010) == 0x00000010)) {
            dtcScanECUData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData>(dtcScanECUData_);
            bitField0_ |= 0x00000010;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> dtcScanECUDataBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> getDtcScanECUDataList() {
          if (dtcScanECUDataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(dtcScanECUData_);
          } else {
            return dtcScanECUDataBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public int getDtcScanECUDataCount() {
          if (dtcScanECUDataBuilder_ == null) {
            return dtcScanECUData_.size();
          } else {
            return dtcScanECUDataBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData getDtcScanECUData(int index) {
          if (dtcScanECUDataBuilder_ == null) {
            return dtcScanECUData_.get(index);
          } else {
            return dtcScanECUDataBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder setDtcScanECUData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (dtcScanECUDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.set(index, value);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder setDtcScanECUData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (dtcScanECUDataBuilder_ == null) {
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.set(index, builderForValue.build());
            onChanged();
          } else {
            dtcScanECUDataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder addDtcScanECUData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (dtcScanECUDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.add(value);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder addDtcScanECUData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData value) {
          if (dtcScanECUDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.add(index, value);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder addDtcScanECUData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (dtcScanECUDataBuilder_ == null) {
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.add(builderForValue.build());
            onChanged();
          } else {
            dtcScanECUDataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder addDtcScanECUData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder builderForValue) {
          if (dtcScanECUDataBuilder_ == null) {
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.add(index, builderForValue.build());
            onChanged();
          } else {
            dtcScanECUDataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder addAllDtcScanECUData(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData> values) {
          if (dtcScanECUDataBuilder_ == null) {
            ensureDtcScanECUDataIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, dtcScanECUData_);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder clearDtcScanECUData() {
          if (dtcScanECUDataBuilder_ == null) {
            dtcScanECUData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000010);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public Builder removeDtcScanECUData(int index) {
          if (dtcScanECUDataBuilder_ == null) {
            ensureDtcScanECUDataIsMutable();
            dtcScanECUData_.remove(index);
            onChanged();
          } else {
            dtcScanECUDataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder getDtcScanECUDataBuilder(
            int index) {
          return getDtcScanECUDataFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder getDtcScanECUDataOrBuilder(
            int index) {
          if (dtcScanECUDataBuilder_ == null) {
            return dtcScanECUData_.get(index);  } else {
            return dtcScanECUDataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
             getDtcScanECUDataOrBuilderList() {
          if (dtcScanECUDataBuilder_ != null) {
            return dtcScanECUDataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(dtcScanECUData_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder addDtcScanECUDataBuilder() {
          return getDtcScanECUDataFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder addDtcScanECUDataBuilder(
            int index) {
          return getDtcScanECUDataFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.ECUData dtcScanECUData = 5;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder> 
             getDtcScanECUDataBuilderList() {
          return getDtcScanECUDataFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder> 
            getDtcScanECUDataFieldBuilder() {
          if (dtcScanECUDataBuilder_ == null) {
            dtcScanECUDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ECUDataOrBuilder>(
                    dtcScanECUData_,
                    ((bitField0_ & 0x00000010) == 0x00000010),
                    getParentForChildren(),
                    isClean());
            dtcScanECUData_ = null;
          }
          return dtcScanECUDataBuilder_;
        }

        private com.fca.uconnect.global.GlobalUconnectGNSS.Location scanVehicleLocation_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> scanVehicleLocationBuilder_;
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public boolean hasScanVehicleLocation() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Location getScanVehicleLocation() {
          if (scanVehicleLocationBuilder_ == null) {
            return scanVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
          } else {
            return scanVehicleLocationBuilder_.getMessage();
          }
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public Builder setScanVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
          if (scanVehicleLocationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            scanVehicleLocation_ = value;
            onChanged();
          } else {
            scanVehicleLocationBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public Builder setScanVehicleLocation(
            com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder builderForValue) {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = builderForValue.build();
            onChanged();
          } else {
            scanVehicleLocationBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public Builder mergeScanVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
          if (scanVehicleLocationBuilder_ == null) {
            if (((bitField0_ & 0x00000020) == 0x00000020) &&
                scanVehicleLocation_ != null &&
                scanVehicleLocation_ != com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance()) {
              scanVehicleLocation_ =
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.newBuilder(scanVehicleLocation_).mergeFrom(value).buildPartial();
            } else {
              scanVehicleLocation_ = value;
            }
            onChanged();
          } else {
            scanVehicleLocationBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public Builder clearScanVehicleLocation() {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocation_ = null;
            onChanged();
          } else {
            scanVehicleLocationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder getScanVehicleLocationBuilder() {
          bitField0_ |= 0x00000020;
          onChanged();
          return getScanVehicleLocationFieldBuilder().getBuilder();
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getScanVehicleLocationOrBuilder() {
          if (scanVehicleLocationBuilder_ != null) {
            return scanVehicleLocationBuilder_.getMessageOrBuilder();
          } else {
            return scanVehicleLocation_ == null ?
                com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : scanVehicleLocation_;
          }
        }
        /**
         * <pre>
         *		repeated DTCScanECUData dtcScanECUData = 6;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.Location scanVehicleLocation = 6;</code>
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> 
            getScanVehicleLocationFieldBuilder() {
          if (scanVehicleLocationBuilder_ == null) {
            scanVehicleLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder>(
                    getScanVehicleLocation(),
                    getParentForChildren(),
                    isClean());
            scanVehicleLocation_ = null;
          }
          return scanVehicleLocationBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.DTCScan)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.DTCScan)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<DTCScan>
          PARSER = new com.google.protobuf.AbstractParser<DTCScan>() {
        public DTCScan parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new DTCScan(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface HistogramOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.Histogram)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      boolean hasVersion();
      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      java.lang.String getVersion();
      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      com.google.protobuf.ByteString
          getVersionBytes();

      /**
       * <pre>
       *&#47;Sender clock's time when the request is processed.
       * </pre>
       *
       * <code>optional int64 timestamp = 2;</code>
       */
      boolean hasTimestamp();
      /**
       * <pre>
       *&#47;Sender clock's time when the request is processed.
       * </pre>
       *
       * <code>optional int64 timestamp = 2;</code>
       */
      long getTimestamp();

      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> 
          getHistogramDataList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getHistogramData(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      int getHistogramDataCount();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder> 
          getHistogramDataOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder getHistogramDataOrBuilder(
          int index);
    }
    /**
     * <pre>
     **
     *&lt;div class=exmsg-main&gt;
     * &lt;h3 class=change-log-hdr&gt;Histogram Ids&lt;/h3&gt;
     *  &lt;table class="change-log"&gt;
     *    &lt;thead&gt;
     *	&lt;tr&gt;&lt;td&gt;Id&lt;/td&gt;&lt;td&gt;Name&lt;/td&gt;&lt;/tr&gt;
     *    &lt;/thead&gt;
     *    &lt;tbody&gt;
     *      &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;EngTrq_Rq_ESC&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;BATT_VOLT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;AvgFuelLvl&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;EngRPM&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;VEH_SPEED&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;IGN_OFF_TIME_LNG&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;INST_FUEL_ECO&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;AMB_TEMP_AVG_F&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Gr&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;TirePressFL&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;TirePressFR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;TirePressRL&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;TirePressRR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;TirePressRL2&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;TirePressRR2&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;EngCoolTemp&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;17&lt;/td&gt;&lt;td&gt;DRV_SEATBELT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;PSG_SEATBELT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;19&lt;/td&gt;&lt;td&gt;E_Mode_Sts&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;EngLoad&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;IBS_V_BATT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;IBS_T_BATT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;EngineRunTime&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;FL_HS_STAT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;FR_HS_STAT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;EngTrqStatic&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;27&lt;/td&gt;&lt;td&gt;DAY_LGT_MD&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;28&lt;/td&gt;&lt;td&gt;DriveStyleSts&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;29&lt;/td&gt;&lt;td&gt;BoostPressureIndication&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;RainSensorLvl&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;31&lt;/td&gt;&lt;td&gt;PSG_AJAR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;DRV_AJAR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;33&lt;/td&gt;&lt;td&gt;R_R_AJAR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;L_R_AJAR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;35&lt;/td&gt;&lt;td&gt;TLG_AJAR&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;CmdIgnSts&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;37&lt;/td&gt;&lt;td&gt;AutoDfgStat&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;FT_FOG_RQ&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;39&lt;/td&gt;&lt;td&gt;AC_CLTCH_EGD&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;MdsAct&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;41&lt;/td&gt;&lt;td&gt;ActlAccelPdlPosn&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;AccelPdlPosn&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;43&lt;/td&gt;&lt;td&gt;VehPerfAccel_X&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;VehPerfAccel_Y&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;45&lt;/td&gt;&lt;td&gt;IBS_I_BATT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;FUEL_cons&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;47&lt;/td&gt;&lt;td&gt;EngineStopTime&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;SpStSwStat&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;49&lt;/td&gt;&lt;td&gt;ESS_ENG_ST&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;HardBrake&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;51&lt;/td&gt;&lt;td&gt;MileBased&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;SpStDispstat&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;53&lt;/td&gt;&lt;td&gt;IBS_SOC&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;HVBatSOC_HCP&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;55&lt;/td&gt;&lt;td&gt;TCASE_STAT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;TCaseAWD_DrvMdRq&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;57&lt;/td&gt;&lt;td&gt;SHFT_PROG&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;CC_SetSpdDsplMPH&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;59&lt;/td&gt;&lt;td&gt;CRUISE_EGD&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;100&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_0to100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;101&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_100to200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;102&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_200to300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;103&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_300to400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;104&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_400to500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;105&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_500to600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;106&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_600to700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;107&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_700to800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;108&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_800to900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;109&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_900to1000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;110&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1000to1100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;111&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1100to1200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;112&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1200to1300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;113&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1300to1400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;114&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1400to1500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;115&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1500to1600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;116&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1600to1700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;117&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1700to1800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;118&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1800to1900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;119&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1900to2000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2000to2100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;121&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2100to2200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;122&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2200to2300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;123&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2300to2400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;124&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2400to2500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;125&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2500to2600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;126&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2600to2700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;127&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2700to2800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;128&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2800to2900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;129&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2900to3000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;130&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3000to3100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;131&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3100to3200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;132&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3200to3300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;133&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3300to3400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;134&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3400to3500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;135&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3500to3600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;136&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3600to3700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;137&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3700to3800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;138&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3800to3900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;139&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3900to4000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;140&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4000to4100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;141&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4100to4200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;142&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4200to4300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;143&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4300to4400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;144&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4400to4500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;145&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4500to4600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;146&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4600to4700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;147&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4700to4800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;148&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4800to4900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;149&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4900to5000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;150&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5000to5100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;151&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5100to5200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;152&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5200to5300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;153&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5300to5400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;154&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5400to5500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;155&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5500to5600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;156&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5600to5700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;157&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5700to5800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;158&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5800to5900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;159&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5900to6000rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6000to6100rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;161&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6100to6200rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;162&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6200to6300rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;163&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6300to6400rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;164&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6400to6500rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;165&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6500to6600rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;166&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6600to6700rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;167&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6700to6800rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;168&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6800to6900rpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;169&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_7000toOrphanrpm&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;200&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_1&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;201&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_2&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;202&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_3&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;203&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_4&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;204&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_5&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;205&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_6&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;206&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_7&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;207&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_8&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;208&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_9&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;209&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_2ndPrime&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;210&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_R&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;211&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_R2&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;220&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_0&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;221&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_0-10&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;222&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_10-20&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;223&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_30-40&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;224&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_40-50&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;225&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_50-60&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;226&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_60-70&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;227&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_70-80&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;228&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_80-90&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;229&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_90-100&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;230&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_100-110&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;231&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_110-120&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;232&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_120-130&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;233&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_130-140&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;234&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_140-150&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;235&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_150-160&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;236&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_160-170&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;237&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_170-180&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;238&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_180-190&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;240&lt;/td&gt;&lt;td&gt;CountsSteeringAngle&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;260&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-40to-35_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;261&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-35to-30_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;262&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-30to-25_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;263&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-25to-20_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;264&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-20to-15_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;265&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-15to-10_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;266&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-10to-5_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;267&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-5to-0_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;268&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp0to5_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;269&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp5to10_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;270&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp10to15_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;271&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp15to20_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;272&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp20to25_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;273&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp25to30_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;274&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp30to35_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;275&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp40to45_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;276&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp45to50_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;277&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp50to55_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;278&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp55to60_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;279&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp60to65_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;280&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp65to70_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;281&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp70to75_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;282&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp75to80_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;283&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp80to85_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;284&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp85to90_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;285&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp90to95_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;286&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp95to100_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;287&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp100to105_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;288&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp105to110_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;289&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp110to115_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;290&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp115to120_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;291&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp120to125_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;292&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp125to130_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;293&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp130to135_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;294&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp135to140_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;295&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp140to145_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;296&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp145to150_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;297&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp150to155_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;298&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp155to160_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;299&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp160to165_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;300&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp165to170_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;301&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp170to175_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;302&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp175to180_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;303&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp180to185_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;304&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp185to190_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;305&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp190to195_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;306&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp195to200_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;307&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp200to205_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;320&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-40to-35_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;321&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-35to-30_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;322&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-30to-25_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;323&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-25to-20_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;324&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-20to-15_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;325&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-15to-10_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;326&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-10to-5_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;327&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-5to0_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;328&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp0to5_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;329&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp5to10_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;330&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp10to15_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;331&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp15to20_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;332&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp20to25_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;333&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp25to30_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;334&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp30to35_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;335&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp35to40_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;336&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp40to45_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;337&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp45to50_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;338&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp50to55_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;339&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp55to60_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;340&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp60to65_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;341&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp65to70_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;342&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp70to75_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;343&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp75to80_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;344&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp80to85_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;345&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp85to90_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;346&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp90to95_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;347&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp95to100_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;348&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp100to105_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;349&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp105to110_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;350&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp110to115_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;351&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp115to120_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;352&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp120to125_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;353&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp125to130_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;354&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp130to135_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;355&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp135to140_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;356&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp140to145_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;357&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp145to150_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;358&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp150to155_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;359&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp155to160_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;360&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp160to165_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;361&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp165to170_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;362&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp170to175_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;363&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp175to180_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;364&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp180to185_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;365&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp185to190_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;366&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp190to195_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;367&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp195to200_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;368&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp200to205_vs_torque&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;380&lt;/td&gt;&lt;td&gt;MilesAtT_case&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;400&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_SH_IPG&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;401&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_4LO&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;402&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_4HI&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;403&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_2WD&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;404&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_N&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;405&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_AUTO&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;406&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_PT&lt;/td&gt;&lt;/tr&gt;
     *      &lt;tr&gt;&lt;td&gt;407&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_SNA&lt;/td&gt;&lt;/tr&gt;
     *    &lt;/tbody&gt;
     *  &lt;/table&gt;
     * &lt;/div&gt;
     * </pre>
     *
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram}
     */
    public  static final class Histogram extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.Histogram)
        HistogramOrBuilder {
      // Use Histogram.newBuilder() to construct.
      private Histogram(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Histogram() {
        version_ = "";
        timestamp_ = 0L;
        histogramData_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Histogram(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                version_ = bs;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                timestamp_ = input.readInt64();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  histogramData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData>();
                  mutable_bitField0_ |= 0x00000004;
                }
                histogramData_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            histogramData_ = java.util.Collections.unmodifiableList(histogramData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder.class);
      }

      public interface HistogramDataOrBuilder extends
          // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.Histogram.HistogramData)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <pre>
         *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
         * </pre>
         *
         * <code>optional int32 histogramId = 1;</code>
         */
        boolean hasHistogramId();
        /**
         * <pre>
         *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
         * </pre>
         *
         * <code>optional int32 histogramId = 1;</code>
         */
        int getHistogramId();

        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> 
            getHistogramBinsList();
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getHistogramBins(int index);
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        int getHistogramBinsCount();
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder> 
            getHistogramBinsOrBuilderList();
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder getHistogramBinsOrBuilder(
            int index);
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram.HistogramData}
       */
      public  static final class HistogramData extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.Histogram.HistogramData)
          HistogramDataOrBuilder {
        // Use HistogramData.newBuilder() to construct.
        private HistogramData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private HistogramData() {
          histogramId_ = 0;
          histogramBins_ = java.util.Collections.emptyList();
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private HistogramData(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  bitField0_ |= 0x00000001;
                  histogramId_ = input.readInt32();
                  break;
                }
                case 18: {
                  if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    histogramBins_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin>();
                    mutable_bitField0_ |= 0x00000002;
                  }
                  histogramBins_.add(
                      input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.PARSER, extensionRegistry));
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
              histogramBins_ = java.util.Collections.unmodifiableList(histogramBins_);
            }
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder.class);
        }

        public interface HistogramBinOrBuilder extends
            // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin)
            com.google.protobuf.MessageOrBuilder {

          /**
           * <code>optional string binId = 1;</code>
           */
          boolean hasBinId();
          /**
           * <code>optional string binId = 1;</code>
           */
          java.lang.String getBinId();
          /**
           * <code>optional string binId = 1;</code>
           */
          com.google.protobuf.ByteString
              getBinIdBytes();

          /**
           * <code>optional int32 count = 2;</code>
           */
          boolean hasCount();
          /**
           * <code>optional int32 count = 2;</code>
           */
          int getCount();
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin}
         */
        public  static final class HistogramBin extends
            com.google.protobuf.GeneratedMessageV3 implements
            // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin)
            HistogramBinOrBuilder {
          // Use HistogramBin.newBuilder() to construct.
          private HistogramBin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
          }
          private HistogramBin() {
            binId_ = "";
            count_ = 0;
          }

          @java.lang.Override
          public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
            return this.unknownFields;
          }
          private HistogramBin(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 10: {
                    com.google.protobuf.ByteString bs = input.readBytes();
                    bitField0_ |= 0x00000001;
                    binId_ = bs;
                    break;
                  }
                  case 16: {
                    bitField0_ |= 0x00000002;
                    count_ = input.readInt32();
                    break;
                  }
                }
              }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(
                  e).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder.class);
          }

          private int bitField0_;
          public static final int BINID_FIELD_NUMBER = 1;
          private volatile java.lang.Object binId_;
          /**
           * <code>optional string binId = 1;</code>
           */
          public boolean hasBinId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional string binId = 1;</code>
           */
          public java.lang.String getBinId() {
            java.lang.Object ref = binId_;
            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();
              if (bs.isValidUtf8()) {
                binId_ = s;
              }
              return s;
            }
          }
          /**
           * <code>optional string binId = 1;</code>
           */
          public com.google.protobuf.ByteString
              getBinIdBytes() {
            java.lang.Object ref = binId_;
            if (ref instanceof java.lang.String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              binId_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }

          public static final int COUNT_FIELD_NUMBER = 2;
          private int count_;
          /**
           * <code>optional int32 count = 2;</code>
           */
          public boolean hasCount() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional int32 count = 2;</code>
           */
          public int getCount() {
            return count_;
          }

          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1) return true;
            if (isInitialized == 0) return false;

            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              com.google.protobuf.GeneratedMessageV3.writeString(output, 1, binId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeInt32(2, count_);
            }
            unknownFields.writeTo(output);
          }

          public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1) return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, binId_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(2, count_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
          }

          private static final long serialVersionUID = 0L;
          @java.lang.Override
          public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
             return true;
            }
            if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin)) {
              return super.equals(obj);
            }
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin) obj;

            boolean result = true;
            result = result && (hasBinId() == other.hasBinId());
            if (hasBinId()) {
              result = result && getBinId()
                  .equals(other.getBinId());
            }
            result = result && (hasCount() == other.hasCount());
            if (hasCount()) {
              result = result && (getCount()
                  == other.getCount());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
          }

          @java.lang.Override
          public int hashCode() {
            if (memoizedHashCode != 0) {
              return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptorForType().hashCode();
            if (hasBinId()) {
              hash = (37 * hash) + BINID_FIELD_NUMBER;
              hash = (53 * hash) + getBinId().hashCode();
            }
            if (hasCount()) {
              hash = (37 * hash) + COUNT_FIELD_NUMBER;
              hash = (53 * hash) + getCount();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
          }

          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              com.google.protobuf.ByteString data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              com.google.protobuf.ByteString data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(byte[] data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              byte[] data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseDelimitedWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseDelimitedFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              com.google.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parseFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input, extensionRegistry);
          }

          public Builder newBuilderForType() { return newBuilder(); }
          public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
          }
          public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() {
            return this == DEFAULT_INSTANCE
                ? new Builder() : new Builder().mergeFrom(this);
          }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin}
           */
          public static final class Builder extends
              com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
              // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin)
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder.class);
            }

            // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.protobuf.GeneratedMessageV3
                      .alwaysUseFieldBuilders) {
              }
            }
            public Builder clear() {
              super.clear();
              binId_ = "";
              bitField0_ = (bitField0_ & ~0x00000001);
              count_ = 0;
              bitField0_ = (bitField0_ & ~0x00000002);
              return this;
            }

            public com.google.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor;
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getDefaultInstanceForType() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.getDefaultInstance();
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin build() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin buildPartial() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.binId_ = binId_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.count_ = count_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }

            public Builder clone() {
              return (Builder) super.clone();
            }
            public Builder setField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                Object value) {
              return (Builder) super.setField(field, value);
            }
            public Builder clearField(
                com.google.protobuf.Descriptors.FieldDescriptor field) {
              return (Builder) super.clearField(field);
            }
            public Builder clearOneof(
                com.google.protobuf.Descriptors.OneofDescriptor oneof) {
              return (Builder) super.clearOneof(oneof);
            }
            public Builder setRepeatedField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                int index, Object value) {
              return (Builder) super.setRepeatedField(field, index, value);
            }
            public Builder addRepeatedField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                Object value) {
              return (Builder) super.addRepeatedField(field, value);
            }
            public Builder mergeFrom(com.google.protobuf.Message other) {
              if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin) {
                return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin other) {
              if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.getDefaultInstance()) return this;
              if (other.hasBinId()) {
                bitField0_ |= 0x00000001;
                binId_ = other.binId_;
                onChanged();
              }
              if (other.hasCount()) {
                setCount(other.getCount());
              }
              this.mergeUnknownFields(other.unknownFields);
              onChanged();
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin) e.getUnfinishedMessage();
                throw e.unwrapIOException();
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;

            private java.lang.Object binId_ = "";
            /**
             * <code>optional string binId = 1;</code>
             */
            public boolean hasBinId() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional string binId = 1;</code>
             */
            public java.lang.String getBinId() {
              java.lang.Object ref = binId_;
              if (!(ref instanceof java.lang.String)) {
                com.google.protobuf.ByteString bs =
                    (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                  binId_ = s;
                }
                return s;
              } else {
                return (java.lang.String) ref;
              }
            }
            /**
             * <code>optional string binId = 1;</code>
             */
            public com.google.protobuf.ByteString
                getBinIdBytes() {
              java.lang.Object ref = binId_;
              if (ref instanceof String) {
                com.google.protobuf.ByteString b = 
                    com.google.protobuf.ByteString.copyFromUtf8(
                        (java.lang.String) ref);
                binId_ = b;
                return b;
              } else {
                return (com.google.protobuf.ByteString) ref;
              }
            }
            /**
             * <code>optional string binId = 1;</code>
             */
            public Builder setBinId(
                java.lang.String value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              binId_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional string binId = 1;</code>
             */
            public Builder clearBinId() {
              bitField0_ = (bitField0_ & ~0x00000001);
              binId_ = getDefaultInstance().getBinId();
              onChanged();
              return this;
            }
            /**
             * <code>optional string binId = 1;</code>
             */
            public Builder setBinIdBytes(
                com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
              binId_ = value;
              onChanged();
              return this;
            }

            private int count_ ;
            /**
             * <code>optional int32 count = 2;</code>
             */
            public boolean hasCount() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional int32 count = 2;</code>
             */
            public int getCount() {
              return count_;
            }
            /**
             * <code>optional int32 count = 2;</code>
             */
            public Builder setCount(int value) {
              bitField0_ |= 0x00000002;
              count_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 count = 2;</code>
             */
            public Builder clearCount() {
              bitField0_ = (bitField0_ & ~0x00000002);
              count_ = 0;
              onChanged();
              return this;
            }
            public final Builder setUnknownFields(
                final com.google.protobuf.UnknownFieldSet unknownFields) {
              return super.setUnknownFields(unknownFields);
            }

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


            // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin)
          }

          // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin)
          private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin DEFAULT_INSTANCE;
          static {
            DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin();
          }

          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getDefaultInstance() {
            return DEFAULT_INSTANCE;
          }

          @java.lang.Deprecated public static final com.google.protobuf.Parser<HistogramBin>
              PARSER = new com.google.protobuf.AbstractParser<HistogramBin>() {
            public HistogramBin parsePartialFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
                return new HistogramBin(input, extensionRegistry);
            }
          };

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

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

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
          }

        }

        private int bitField0_;
        public static final int HISTOGRAMID_FIELD_NUMBER = 1;
        private int histogramId_;
        /**
         * <pre>
         *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
         * </pre>
         *
         * <code>optional int32 histogramId = 1;</code>
         */
        public boolean hasHistogramId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <pre>
         *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
         * </pre>
         *
         * <code>optional int32 histogramId = 1;</code>
         */
        public int getHistogramId() {
          return histogramId_;
        }

        public static final int HISTOGRAMBINS_FIELD_NUMBER = 2;
        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> histogramBins_;
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> getHistogramBinsList() {
          return histogramBins_;
        }
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder> 
            getHistogramBinsOrBuilderList() {
          return histogramBins_;
        }
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        public int getHistogramBinsCount() {
          return histogramBins_.size();
        }
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getHistogramBins(int index) {
          return histogramBins_.get(index);
        }
        /**
         * <pre>
         *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
         * </pre>
         *
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder getHistogramBinsOrBuilder(
            int index) {
          return histogramBins_.get(index);
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeInt32(1, histogramId_);
          }
          for (int i = 0; i < histogramBins_.size(); i++) {
            output.writeMessage(2, histogramBins_.get(i));
          }
          unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt32Size(1, histogramId_);
          }
          for (int i = 0; i < histogramBins_.size(); i++) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(2, histogramBins_.get(i));
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData)) {
            return super.equals(obj);
          }
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData) obj;

          boolean result = true;
          result = result && (hasHistogramId() == other.hasHistogramId());
          if (hasHistogramId()) {
            result = result && (getHistogramId()
                == other.getHistogramId());
          }
          result = result && getHistogramBinsList()
              .equals(other.getHistogramBinsList());
          result = result && unknownFields.equals(other.unknownFields);
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptorForType().hashCode();
          if (hasHistogramId()) {
            hash = (37 * hash) + HISTOGRAMID_FIELD_NUMBER;
            hash = (53 * hash) + getHistogramId();
          }
          if (getHistogramBinsCount() > 0) {
            hash = (37 * hash) + HISTOGRAMBINS_FIELD_NUMBER;
            hash = (53 * hash) + getHistogramBinsList().hashCode();
          }
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram.HistogramData}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.Histogram.HistogramData)
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder.class);
          }

          // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getHistogramBinsFieldBuilder();
            }
          }
          public Builder clear() {
            super.clear();
            histogramId_ = 0;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (histogramBinsBuilder_ == null) {
              histogramBins_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              histogramBinsBuilder_.clear();
            }
            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getDefaultInstanceForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.getDefaultInstance();
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData build() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData buildPartial() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.histogramId_ = histogramId_;
            if (histogramBinsBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                histogramBins_ = java.util.Collections.unmodifiableList(histogramBins_);
                bitField0_ = (bitField0_ & ~0x00000002);
              }
              result.histogramBins_ = histogramBins_;
            } else {
              result.histogramBins_ = histogramBinsBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData) {
              return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData other) {
            if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.getDefaultInstance()) return this;
            if (other.hasHistogramId()) {
              setHistogramId(other.getHistogramId());
            }
            if (histogramBinsBuilder_ == null) {
              if (!other.histogramBins_.isEmpty()) {
                if (histogramBins_.isEmpty()) {
                  histogramBins_ = other.histogramBins_;
                  bitField0_ = (bitField0_ & ~0x00000002);
                } else {
                  ensureHistogramBinsIsMutable();
                  histogramBins_.addAll(other.histogramBins_);
                }
                onChanged();
              }
            } else {
              if (!other.histogramBins_.isEmpty()) {
                if (histogramBinsBuilder_.isEmpty()) {
                  histogramBinsBuilder_.dispose();
                  histogramBinsBuilder_ = null;
                  histogramBins_ = other.histogramBins_;
                  bitField0_ = (bitField0_ & ~0x00000002);
                  histogramBinsBuilder_ = 
                    com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                       getHistogramBinsFieldBuilder() : null;
                } else {
                  histogramBinsBuilder_.addAllMessages(other.histogramBins_);
                }
              }
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          private int histogramId_ ;
          /**
           * <pre>
           *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
           * </pre>
           *
           * <code>optional int32 histogramId = 1;</code>
           */
          public boolean hasHistogramId() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <pre>
           *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
           * </pre>
           *
           * <code>optional int32 histogramId = 1;</code>
           */
          public int getHistogramId() {
            return histogramId_;
          }
          /**
           * <pre>
           *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
           * </pre>
           *
           * <code>optional int32 histogramId = 1;</code>
           */
          public Builder setHistogramId(int value) {
            bitField0_ |= 0x00000001;
            histogramId_ = value;
            onChanged();
            return this;
          }
          /**
           * <pre>
           *&#47;Contains the Id associated with the specific Histogram.  See the table below:  			
           * </pre>
           *
           * <code>optional int32 histogramId = 1;</code>
           */
          public Builder clearHistogramId() {
            bitField0_ = (bitField0_ & ~0x00000001);
            histogramId_ = 0;
            onChanged();
            return this;
          }

          private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> histogramBins_ =
            java.util.Collections.emptyList();
          private void ensureHistogramBinsIsMutable() {
            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
              histogramBins_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin>(histogramBins_);
              bitField0_ |= 0x00000002;
             }
          }

          private com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder> histogramBinsBuilder_;

          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> getHistogramBinsList() {
            if (histogramBinsBuilder_ == null) {
              return java.util.Collections.unmodifiableList(histogramBins_);
            } else {
              return histogramBinsBuilder_.getMessageList();
            }
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public int getHistogramBinsCount() {
            if (histogramBinsBuilder_ == null) {
              return histogramBins_.size();
            } else {
              return histogramBinsBuilder_.getCount();
            }
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin getHistogramBins(int index) {
            if (histogramBinsBuilder_ == null) {
              return histogramBins_.get(index);
            } else {
              return histogramBinsBuilder_.getMessage(index);
            }
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder setHistogramBins(
              int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin value) {
            if (histogramBinsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureHistogramBinsIsMutable();
              histogramBins_.set(index, value);
              onChanged();
            } else {
              histogramBinsBuilder_.setMessage(index, value);
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder setHistogramBins(
              int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder builderForValue) {
            if (histogramBinsBuilder_ == null) {
              ensureHistogramBinsIsMutable();
              histogramBins_.set(index, builderForValue.build());
              onChanged();
            } else {
              histogramBinsBuilder_.setMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder addHistogramBins(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin value) {
            if (histogramBinsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureHistogramBinsIsMutable();
              histogramBins_.add(value);
              onChanged();
            } else {
              histogramBinsBuilder_.addMessage(value);
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder addHistogramBins(
              int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin value) {
            if (histogramBinsBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureHistogramBinsIsMutable();
              histogramBins_.add(index, value);
              onChanged();
            } else {
              histogramBinsBuilder_.addMessage(index, value);
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder addHistogramBins(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder builderForValue) {
            if (histogramBinsBuilder_ == null) {
              ensureHistogramBinsIsMutable();
              histogramBins_.add(builderForValue.build());
              onChanged();
            } else {
              histogramBinsBuilder_.addMessage(builderForValue.build());
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder addHistogramBins(
              int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder builderForValue) {
            if (histogramBinsBuilder_ == null) {
              ensureHistogramBinsIsMutable();
              histogramBins_.add(index, builderForValue.build());
              onChanged();
            } else {
              histogramBinsBuilder_.addMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder addAllHistogramBins(
              java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin> values) {
            if (histogramBinsBuilder_ == null) {
              ensureHistogramBinsIsMutable();
              com.google.protobuf.AbstractMessageLite.Builder.addAll(
                  values, histogramBins_);
              onChanged();
            } else {
              histogramBinsBuilder_.addAllMessages(values);
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder clearHistogramBins() {
            if (histogramBinsBuilder_ == null) {
              histogramBins_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000002);
              onChanged();
            } else {
              histogramBinsBuilder_.clear();
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public Builder removeHistogramBins(int index) {
            if (histogramBinsBuilder_ == null) {
              ensureHistogramBinsIsMutable();
              histogramBins_.remove(index);
              onChanged();
            } else {
              histogramBinsBuilder_.remove(index);
            }
            return this;
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder getHistogramBinsBuilder(
              int index) {
            return getHistogramBinsFieldBuilder().getBuilder(index);
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder getHistogramBinsOrBuilder(
              int index) {
            if (histogramBinsBuilder_ == null) {
              return histogramBins_.get(index);  } else {
              return histogramBinsBuilder_.getMessageOrBuilder(index);
            }
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder> 
               getHistogramBinsOrBuilderList() {
            if (histogramBinsBuilder_ != null) {
              return histogramBinsBuilder_.getMessageOrBuilderList();
            } else {
              return java.util.Collections.unmodifiableList(histogramBins_);
            }
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder addHistogramBinsBuilder() {
            return getHistogramBinsFieldBuilder().addBuilder(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.getDefaultInstance());
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder addHistogramBinsBuilder(
              int index) {
            return getHistogramBinsFieldBuilder().addBuilder(
                index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.getDefaultInstance());
          }
          /**
           * <pre>
           *&#47;Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
           * </pre>
           *
           * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin histogramBins = 2;</code>
           */
          public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder> 
               getHistogramBinsBuilderList() {
            return getHistogramBinsFieldBuilder().getBuilderList();
          }
          private com.google.protobuf.RepeatedFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder> 
              getHistogramBinsFieldBuilder() {
            if (histogramBinsBuilder_ == null) {
              histogramBinsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBin.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.HistogramBinOrBuilder>(
                      histogramBins_,
                      ((bitField0_ & 0x00000002) == 0x00000002),
                      getParentForChildren(),
                      isClean());
              histogramBins_ = null;
            }
            return histogramBinsBuilder_;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

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


          // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.Histogram.HistogramData)
        }

        // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.Histogram.HistogramData)
        private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData();
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated public static final com.google.protobuf.Parser<HistogramData>
            PARSER = new com.google.protobuf.AbstractParser<HistogramData>() {
          public HistogramData parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new HistogramData(input, extensionRegistry);
          }
        };

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

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

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int bitField0_;
      public static final int VERSION_FIELD_NUMBER = 1;
      private volatile java.lang.Object version_;
      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      public java.lang.String getVersion() {
        java.lang.Object ref = version_;
        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();
          if (bs.isValidUtf8()) {
            version_ = s;
          }
          return s;
        }
      }
      /**
       * <pre>
       *&#47;Version for Histogram configuration file
       * </pre>
       *
       * <code>optional string version = 1;</code>
       */
      public com.google.protobuf.ByteString
          getVersionBytes() {
        java.lang.Object ref = version_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          version_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int TIMESTAMP_FIELD_NUMBER = 2;
      private long timestamp_;
      /**
       * <pre>
       *&#47;Sender clock's time when the request is processed.
       * </pre>
       *
       * <code>optional int64 timestamp = 2;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       *&#47;Sender clock's time when the request is processed.
       * </pre>
       *
       * <code>optional int64 timestamp = 2;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }

      public static final int HISTOGRAMDATA_FIELD_NUMBER = 3;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> histogramData_;
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> getHistogramDataList() {
        return histogramData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder> 
          getHistogramDataOrBuilderList() {
        return histogramData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      public int getHistogramDataCount() {
        return histogramData_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getHistogramData(int index) {
        return histogramData_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder getHistogramDataOrBuilder(
          int index) {
        return histogramData_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, version_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, timestamp_);
        }
        for (int i = 0; i < histogramData_.size(); i++) {
          output.writeMessage(3, histogramData_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, version_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, timestamp_);
        }
        for (int i = 0; i < histogramData_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, histogramData_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram) obj;

        boolean result = true;
        result = result && (hasVersion() == other.hasVersion());
        if (hasVersion()) {
          result = result && getVersion()
              .equals(other.getVersion());
        }
        result = result && (hasTimestamp() == other.hasTimestamp());
        if (hasTimestamp()) {
          result = result && (getTimestamp()
              == other.getTimestamp());
        }
        result = result && getHistogramDataList()
            .equals(other.getHistogramDataList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasVersion()) {
          hash = (37 * hash) + VERSION_FIELD_NUMBER;
          hash = (53 * hash) + getVersion().hashCode();
        }
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getTimestamp());
        }
        if (getHistogramDataCount() > 0) {
          hash = (37 * hash) + HISTOGRAMDATA_FIELD_NUMBER;
          hash = (53 * hash) + getHistogramDataList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * <pre>
       **
       *&lt;div class=exmsg-main&gt;
       * &lt;h3 class=change-log-hdr&gt;Histogram Ids&lt;/h3&gt;
       *  &lt;table class="change-log"&gt;
       *    &lt;thead&gt;
       *	&lt;tr&gt;&lt;td&gt;Id&lt;/td&gt;&lt;td&gt;Name&lt;/td&gt;&lt;/tr&gt;
       *    &lt;/thead&gt;
       *    &lt;tbody&gt;
       *      &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;EngTrq_Rq_ESC&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;BATT_VOLT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;AvgFuelLvl&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;EngRPM&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;VEH_SPEED&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;IGN_OFF_TIME_LNG&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;INST_FUEL_ECO&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;AMB_TEMP_AVG_F&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Gr&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;TirePressFL&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;TirePressFR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;TirePressRL&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;TirePressRR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;TirePressRL2&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;TirePressRR2&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;EngCoolTemp&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;17&lt;/td&gt;&lt;td&gt;DRV_SEATBELT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;PSG_SEATBELT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;19&lt;/td&gt;&lt;td&gt;E_Mode_Sts&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;EngLoad&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;IBS_V_BATT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;IBS_T_BATT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;EngineRunTime&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;FL_HS_STAT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;FR_HS_STAT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;EngTrqStatic&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;27&lt;/td&gt;&lt;td&gt;DAY_LGT_MD&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;28&lt;/td&gt;&lt;td&gt;DriveStyleSts&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;29&lt;/td&gt;&lt;td&gt;BoostPressureIndication&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;RainSensorLvl&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;31&lt;/td&gt;&lt;td&gt;PSG_AJAR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;32&lt;/td&gt;&lt;td&gt;DRV_AJAR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;33&lt;/td&gt;&lt;td&gt;R_R_AJAR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;34&lt;/td&gt;&lt;td&gt;L_R_AJAR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;35&lt;/td&gt;&lt;td&gt;TLG_AJAR&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;36&lt;/td&gt;&lt;td&gt;CmdIgnSts&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;37&lt;/td&gt;&lt;td&gt;AutoDfgStat&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;38&lt;/td&gt;&lt;td&gt;FT_FOG_RQ&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;39&lt;/td&gt;&lt;td&gt;AC_CLTCH_EGD&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;MdsAct&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;41&lt;/td&gt;&lt;td&gt;ActlAccelPdlPosn&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;42&lt;/td&gt;&lt;td&gt;AccelPdlPosn&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;43&lt;/td&gt;&lt;td&gt;VehPerfAccel_X&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;44&lt;/td&gt;&lt;td&gt;VehPerfAccel_Y&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;45&lt;/td&gt;&lt;td&gt;IBS_I_BATT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;FUEL_cons&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;47&lt;/td&gt;&lt;td&gt;EngineStopTime&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;48&lt;/td&gt;&lt;td&gt;SpStSwStat&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;49&lt;/td&gt;&lt;td&gt;ESS_ENG_ST&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;HardBrake&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;51&lt;/td&gt;&lt;td&gt;MileBased&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;SpStDispstat&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;53&lt;/td&gt;&lt;td&gt;IBS_SOC&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;HVBatSOC_HCP&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;55&lt;/td&gt;&lt;td&gt;TCASE_STAT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;TCaseAWD_DrvMdRq&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;57&lt;/td&gt;&lt;td&gt;SHFT_PROG&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;58&lt;/td&gt;&lt;td&gt;CC_SetSpdDsplMPH&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;59&lt;/td&gt;&lt;td&gt;CRUISE_EGD&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;100&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_0to100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;101&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_100to200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;102&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_200to300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;103&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_300to400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;104&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_400to500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;105&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_500to600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;106&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_600to700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;107&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_700to800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;108&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_800to900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;109&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_900to1000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;110&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1000to1100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;111&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1100to1200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;112&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1200to1300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;113&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1300to1400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;114&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1400to1500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;115&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1500to1600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;116&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1600to1700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;117&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1700to1800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;118&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1800to1900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;119&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_1900to2000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2000to2100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;121&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2100to2200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;122&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2200to2300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;123&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2300to2400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;124&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2400to2500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;125&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2500to2600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;126&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2600to2700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;127&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2700to2800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;128&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2800to2900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;129&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_2900to3000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;130&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3000to3100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;131&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3100to3200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;132&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3200to3300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;133&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3300to3400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;134&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3400to3500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;135&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3500to3600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;136&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3600to3700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;137&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3700to3800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;138&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3800to3900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;139&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_3900to4000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;140&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4000to4100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;141&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4100to4200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;142&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4200to4300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;143&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4300to4400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;144&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4400to4500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;145&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4500to4600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;146&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4600to4700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;147&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4700to4800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;148&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4800to4900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;149&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_4900to5000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;150&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5000to5100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;151&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5100to5200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;152&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5200to5300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;153&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5300to5400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;154&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5400to5500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;155&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5500to5600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;156&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5600to5700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;157&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5700to5800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;158&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5800to5900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;159&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_5900to6000rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6000to6100rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;161&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6100to6200rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;162&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6200to6300rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;163&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6300to6400rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;164&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6400to6500rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;165&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6500to6600rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;166&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6600to6700rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;167&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6700to6800rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;168&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_6800to6900rpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;169&lt;/td&gt;&lt;td&gt;EngSpeedToEngineTorque_7000toOrphanrpm&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;200&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_1&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;201&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_2&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;202&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_3&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;203&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_4&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;204&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_5&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;205&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_6&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;206&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_7&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;207&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_8&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;208&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_9&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;209&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_2ndPrime&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;210&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_R&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;211&lt;/td&gt;&lt;td&gt;MilesAtTransTorqueToGear_R2&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;220&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_0&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;221&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_0-10&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;222&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_10-20&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;223&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_30-40&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;224&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_40-50&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;225&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_50-60&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;226&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_60-70&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;227&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_70-80&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;228&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_80-90&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;229&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_90-100&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;230&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_100-110&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;231&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_110-120&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;232&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_120-130&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;233&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_130-140&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;234&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_140-150&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;235&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_150-160&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;236&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_160-170&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;237&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_170-180&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;238&lt;/td&gt;&lt;td&gt;MilesAtPedalPositionAndVehspd_180-190&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;240&lt;/td&gt;&lt;td&gt;CountsSteeringAngle&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;260&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-40to-35_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;261&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-35to-30_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;262&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-30to-25_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;263&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-25to-20_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;264&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-20to-15_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;265&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-15to-10_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;266&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-10to-5_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;267&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp-5to-0_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;268&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp0to5_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;269&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp5to10_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;270&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp10to15_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;271&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp15to20_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;272&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp20to25_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;273&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp25to30_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;274&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp30to35_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;275&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp40to45_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;276&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp45to50_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;277&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp50to55_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;278&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp55to60_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;279&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp60to65_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;280&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp65to70_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;281&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp70to75_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;282&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp75to80_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;283&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp80to85_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;284&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp85to90_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;285&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp90to95_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;286&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp95to100_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;287&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp100to105_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;288&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp105to110_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;289&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp110to115_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;290&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp115to120_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;291&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp120to125_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;292&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp125to130_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;293&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp130to135_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;294&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp135to140_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;295&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp140to145_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;296&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp145to150_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;297&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp150to155_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;298&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp155to160_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;299&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp160to165_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;300&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp165to170_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;301&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp170to175_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;302&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp175to180_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;303&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp180to185_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;304&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp185to190_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;305&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp190to195_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;306&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp195to200_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;307&lt;/td&gt;&lt;td&gt;Miles_AtTransOilTemp200to205_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;320&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-40to-35_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;321&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-35to-30_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;322&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-30to-25_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;323&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-25to-20_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;324&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-20to-15_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;325&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-15to-10_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;326&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-10to-5_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;327&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp-5to0_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;328&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp0to5_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;329&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp5to10_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;330&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp10to15_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;331&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp15to20_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;332&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp20to25_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;333&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp25to30_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;334&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp30to35_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;335&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp35to40_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;336&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp40to45_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;337&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp45to50_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;338&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp50to55_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;339&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp55to60_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;340&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp60to65_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;341&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp65to70_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;342&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp70to75_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;343&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp75to80_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;344&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp80to85_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;345&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp85to90_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;346&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp90to95_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;347&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp95to100_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;348&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp100to105_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;349&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp105to110_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;350&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp110to115_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;351&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp115to120_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;352&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp120to125_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;353&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp125to130_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;354&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp130to135_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;355&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp135to140_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;356&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp140to145_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;357&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp145to150_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;358&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp150to155_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;359&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp155to160_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;360&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp160to165_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;361&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp165to170_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;362&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp170to175_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;363&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp175to180_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;364&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp180to185_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;365&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp185to190_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;366&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp190to195_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;367&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp195to200_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;368&lt;/td&gt;&lt;td&gt;Time_AtTransOilTemp200to205_vs_torque&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;380&lt;/td&gt;&lt;td&gt;MilesAtT_case&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;400&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_SH_IPG&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;401&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_4LO&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;402&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_4HI&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;403&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_2WD&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;404&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_N&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;405&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_AUTO&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;406&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_PT&lt;/td&gt;&lt;/tr&gt;
       *      &lt;tr&gt;&lt;td&gt;407&lt;/td&gt;&lt;td&gt;CountsSteeringAngle_T_casePosition_SNA&lt;/td&gt;&lt;/tr&gt;
       *    &lt;/tbody&gt;
       *  &lt;/table&gt;
       * &lt;/div&gt;
       * </pre>
       *
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.Histogram}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.Histogram)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getHistogramDataFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          version_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          timestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (histogramDataBuilder_ == null) {
            histogramData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            histogramDataBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.version_ = version_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.timestamp_ = timestamp_;
          if (histogramDataBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              histogramData_ = java.util.Collections.unmodifiableList(histogramData_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.histogramData_ = histogramData_;
          } else {
            result.histogramData_ = histogramDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance()) return this;
          if (other.hasVersion()) {
            bitField0_ |= 0x00000001;
            version_ = other.version_;
            onChanged();
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          if (histogramDataBuilder_ == null) {
            if (!other.histogramData_.isEmpty()) {
              if (histogramData_.isEmpty()) {
                histogramData_ = other.histogramData_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureHistogramDataIsMutable();
                histogramData_.addAll(other.histogramData_);
              }
              onChanged();
            }
          } else {
            if (!other.histogramData_.isEmpty()) {
              if (histogramDataBuilder_.isEmpty()) {
                histogramDataBuilder_.dispose();
                histogramDataBuilder_ = null;
                histogramData_ = other.histogramData_;
                bitField0_ = (bitField0_ & ~0x00000004);
                histogramDataBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getHistogramDataFieldBuilder() : null;
              } else {
                histogramDataBuilder_.addAllMessages(other.histogramData_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object version_ = "";
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public java.lang.String getVersion() {
          java.lang.Object ref = version_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              version_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public com.google.protobuf.ByteString
            getVersionBytes() {
          java.lang.Object ref = version_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            version_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public Builder setVersion(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          version_ = value;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public Builder clearVersion() {
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = getDefaultInstance().getVersion();
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;Version for Histogram configuration file
         * </pre>
         *
         * <code>optional string version = 1;</code>
         */
        public Builder setVersionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          version_ = value;
          onChanged();
          return this;
        }

        private long timestamp_ ;
        /**
         * <pre>
         *&#47;Sender clock's time when the request is processed.
         * </pre>
         *
         * <code>optional int64 timestamp = 2;</code>
         */
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <pre>
         *&#47;Sender clock's time when the request is processed.
         * </pre>
         *
         * <code>optional int64 timestamp = 2;</code>
         */
        public long getTimestamp() {
          return timestamp_;
        }
        /**
         * <pre>
         *&#47;Sender clock's time when the request is processed.
         * </pre>
         *
         * <code>optional int64 timestamp = 2;</code>
         */
        public Builder setTimestamp(long value) {
          bitField0_ |= 0x00000002;
          timestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <pre>
         *&#47;Sender clock's time when the request is processed.
         * </pre>
         *
         * <code>optional int64 timestamp = 2;</code>
         */
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000002);
          timestamp_ = 0L;
          onChanged();
          return this;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> histogramData_ =
          java.util.Collections.emptyList();
        private void ensureHistogramDataIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            histogramData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData>(histogramData_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder> histogramDataBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> getHistogramDataList() {
          if (histogramDataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(histogramData_);
          } else {
            return histogramDataBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public int getHistogramDataCount() {
          if (histogramDataBuilder_ == null) {
            return histogramData_.size();
          } else {
            return histogramDataBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData getHistogramData(int index) {
          if (histogramDataBuilder_ == null) {
            return histogramData_.get(index);
          } else {
            return histogramDataBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder setHistogramData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData value) {
          if (histogramDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureHistogramDataIsMutable();
            histogramData_.set(index, value);
            onChanged();
          } else {
            histogramDataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder setHistogramData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder builderForValue) {
          if (histogramDataBuilder_ == null) {
            ensureHistogramDataIsMutable();
            histogramData_.set(index, builderForValue.build());
            onChanged();
          } else {
            histogramDataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder addHistogramData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData value) {
          if (histogramDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureHistogramDataIsMutable();
            histogramData_.add(value);
            onChanged();
          } else {
            histogramDataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder addHistogramData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData value) {
          if (histogramDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureHistogramDataIsMutable();
            histogramData_.add(index, value);
            onChanged();
          } else {
            histogramDataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder addHistogramData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder builderForValue) {
          if (histogramDataBuilder_ == null) {
            ensureHistogramDataIsMutable();
            histogramData_.add(builderForValue.build());
            onChanged();
          } else {
            histogramDataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder addHistogramData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder builderForValue) {
          if (histogramDataBuilder_ == null) {
            ensureHistogramDataIsMutable();
            histogramData_.add(index, builderForValue.build());
            onChanged();
          } else {
            histogramDataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder addAllHistogramData(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData> values) {
          if (histogramDataBuilder_ == null) {
            ensureHistogramDataIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, histogramData_);
            onChanged();
          } else {
            histogramDataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder clearHistogramData() {
          if (histogramDataBuilder_ == null) {
            histogramData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            histogramDataBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public Builder removeHistogramData(int index) {
          if (histogramDataBuilder_ == null) {
            ensureHistogramDataIsMutable();
            histogramData_.remove(index);
            onChanged();
          } else {
            histogramDataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder getHistogramDataBuilder(
            int index) {
          return getHistogramDataFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder getHistogramDataOrBuilder(
            int index) {
          if (histogramDataBuilder_ == null) {
            return histogramData_.get(index);  } else {
            return histogramDataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder> 
             getHistogramDataOrBuilderList() {
          if (histogramDataBuilder_ != null) {
            return histogramDataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(histogramData_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder addHistogramDataBuilder() {
          return getHistogramDataFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder addHistogramDataBuilder(
            int index) {
          return getHistogramDataFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.Histogram.HistogramData histogramData = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder> 
             getHistogramDataBuilderList() {
          return getHistogramDataFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder> 
            getHistogramDataFieldBuilder() {
          if (histogramDataBuilder_ == null) {
            histogramDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.HistogramDataOrBuilder>(
                    histogramData_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            histogramData_ = null;
          }
          return histogramDataBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.Histogram)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.Histogram)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<Histogram>
          PARSER = new com.google.protobuf.AbstractParser<Histogram>() {
        public Histogram parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new Histogram(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface DataLogOrBuilder extends
        // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.DataLog)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>optional int64 timestamp = 1;</code>
       */
      boolean hasTimestamp();
      /**
       * <code>optional int64 timestamp = 1;</code>
       */
      long getTimestamp();

      /**
       * <code>optional string version = 2;</code>
       */
      boolean hasVersion();
      /**
       * <code>optional string version = 2;</code>
       */
      java.lang.String getVersion();
      /**
       * <code>optional string version = 2;</code>
       */
      com.google.protobuf.ByteString
          getVersionBytes();

      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> 
          getDataLogDataList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDataLogData(int index);
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      int getDataLogDataCount();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder> 
          getDataLogDataOrBuilderList();
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder getDataLogDataOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog}
     */
    public  static final class DataLog extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.DataLog)
        DataLogOrBuilder {
      // Use DataLog.newBuilder() to construct.
      private DataLog(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private DataLog() {
        timestamp_ = 0L;
        version_ = "";
        dataLogData_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private DataLog(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                timestamp_ = input.readInt64();
                break;
              }
              case 18: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000002;
                version_ = bs;
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  dataLogData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData>();
                  mutable_bitField0_ |= 0x00000004;
                }
                dataLogData_.add(
                    input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            dataLogData_ = java.util.Collections.unmodifiableList(dataLogData_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder.class);
      }

      public interface DataLogDataOrBuilder extends
          // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.DataLog.DataLogData)
          com.google.protobuf.MessageOrBuilder {

        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        boolean hasTimestamp();
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        long getTimestamp();

        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        boolean hasLogData();
        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getLogData();
        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder getLogDataOrBuilder();
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog.DataLogData}
       */
      public  static final class DataLogData extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.DataLog.DataLogData)
          DataLogDataOrBuilder {
        // Use DataLogData.newBuilder() to construct.
        private DataLogData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
          super(builder);
        }
        private DataLogData() {
          timestamp_ = 0L;
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private DataLogData(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          int mutable_bitField0_ = 0;
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
                case 8: {
                  bitField0_ |= 0x00000001;
                  timestamp_ = input.readInt64();
                  break;
                }
                case 34: {
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder subBuilder = null;
                  if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    subBuilder = logData_.toBuilder();
                  }
                  logData_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.PARSER, extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(logData_);
                    logData_ = subBuilder.buildPartial();
                  }
                  bitField0_ |= 0x00000002;
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder.class);
        }

        public interface DataOrBuilder extends
            // @@protoc_insertion_point(interface_extends:com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data)
            com.google.protobuf.MessageOrBuilder {

          /**
           * <code>optional float batteryVoltage = 1;</code>
           */
          boolean hasBatteryVoltage();
          /**
           * <code>optional float batteryVoltage = 1;</code>
           */
          float getBatteryVoltage();

          /**
           * <code>optional float engineRPM = 2;</code>
           */
          boolean hasEngineRPM();
          /**
           * <code>optional float engineRPM = 2;</code>
           */
          float getEngineRPM();

          /**
           * <code>optional float vehicleSpeed = 3;</code>
           */
          boolean hasVehicleSpeed();
          /**
           * <code>optional float vehicleSpeed = 3;</code>
           */
          float getVehicleSpeed();

          /**
           * <code>optional int32 ignitionOffTimeLong = 4;</code>
           */
          boolean hasIgnitionOffTimeLong();
          /**
           * <code>optional int32 ignitionOffTimeLong = 4;</code>
           */
          int getIgnitionOffTimeLong();

          /**
           * <code>optional int32 instantFuelEconomy = 5;</code>
           */
          boolean hasInstantFuelEconomy();
          /**
           * <code>optional int32 instantFuelEconomy = 5;</code>
           */
          int getInstantFuelEconomy();

          /**
           * <code>optional int32 Gr = 6;</code>
           */
          boolean hasGr();
          /**
           * <code>optional int32 Gr = 6;</code>
           */
          int getGr();

          /**
           * <code>optional bool isMILOnRq = 7;</code>
           */
          boolean hasIsMILOnRq();
          /**
           * <code>optional bool isMILOnRq = 7;</code>
           */
          boolean getIsMILOnRq();

          /**
           * <code>optional int32 ODO = 8;</code>
           */
          boolean hasODO();
          /**
           * <code>optional int32 ODO = 8;</code>
           */
          int getODO();

          /**
           * <code>optional int32 avgFuelLvl = 9;</code>
           */
          boolean hasAvgFuelLvl();
          /**
           * <code>optional int32 avgFuelLvl = 9;</code>
           */
          int getAvgFuelLvl();

          /**
           * <code>optional int32 engineOilTemperature = 10;</code>
           */
          boolean hasEngineOilTemperature();
          /**
           * <code>optional int32 engineOilTemperature = 10;</code>
           */
          int getEngineOilTemperature();

          /**
           * <code>optional int32 engineCoolantTemperature = 11;</code>
           */
          boolean hasEngineCoolantTemperature();
          /**
           * <code>optional int32 engineCoolantTemperature = 11;</code>
           */
          int getEngineCoolantTemperature();

          /**
           * <code>optional bool isDayLightMode = 12;</code>
           */
          boolean hasIsDayLightMode();
          /**
           * <code>optional bool isDayLightMode = 12;</code>
           */
          boolean getIsDayLightMode();

          /**
           * <code>optional bytes isEModeSatus = 13;</code>
           */
          boolean hasIsEModeSatus();
          /**
           * <code>optional bytes isEModeSatus = 13;</code>
           */
          com.google.protobuf.ByteString getIsEModeSatus();

          /**
           * <code>optional bytes driverDoorSatus = 14;</code>
           */
          boolean hasDriverDoorSatus();
          /**
           * <code>optional bytes driverDoorSatus = 14;</code>
           */
          com.google.protobuf.ByteString getDriverDoorSatus();

          /**
           * <code>optional bytes CmdIgnitionStatus = 15;</code>
           */
          boolean hasCmdIgnitionStatus();
          /**
           * <code>optional bytes CmdIgnitionStatus = 15;</code>
           */
          com.google.protobuf.ByteString getCmdIgnitionStatus();

          /**
           * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
           */
          boolean hasFrontLeftHeatedSeatStatus();
          /**
           * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
           */
          com.google.protobuf.ByteString getFrontLeftHeatedSeatStatus();

          /**
           * <code>optional bytes autoDfgStatus = 17;</code>
           */
          boolean hasAutoDfgStatus();
          /**
           * <code>optional bytes autoDfgStatus = 17;</code>
           */
          com.google.protobuf.ByteString getAutoDfgStatus();

          /**
           * <code>optional bytes FT_FOG_RQ = 18;</code>
           */
          boolean hasFTFOGRQ();
          /**
           * <code>optional bytes FT_FOG_RQ = 18;</code>
           */
          com.google.protobuf.ByteString getFTFOGRQ();

          /**
           * <code>optional bool isACClutchEngaged = 19;</code>
           */
          boolean hasIsACClutchEngaged();
          /**
           * <code>optional bool isACClutchEngaged = 19;</code>
           */
          boolean getIsACClutchEngaged();

          /**
           * <code>optional float vehPerfAccelX = 20;</code>
           */
          boolean hasVehPerfAccelX();
          /**
           * <code>optional float vehPerfAccelX = 20;</code>
           */
          float getVehPerfAccelX();

          /**
           * <code>optional float VehPerfAccelY = 21;</code>
           */
          boolean hasVehPerfAccelY();
          /**
           * <code>optional float VehPerfAccelY = 21;</code>
           */
          float getVehPerfAccelY();

          /**
           * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
           */
          boolean hasFrontRightHeatedSeatStatus();
          /**
           * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
           */
          com.google.protobuf.ByteString getFrontRightHeatedSeatStatus();

          /**
           * <code>optional bytes spStSwStat = 23;</code>
           */
          boolean hasSpStSwStat();
          /**
           * <code>optional bytes spStSwStat = 23;</code>
           */
          com.google.protobuf.ByteString getSpStSwStat();

          /**
           * <code>optional bytes essEngineStatus = 24;</code>
           */
          boolean hasEssEngineStatus();
          /**
           * <code>optional bytes essEngineStatus = 24;</code>
           */
          com.google.protobuf.ByteString getEssEngineStatus();

          /**
           * <pre>
           *&#47; Temperature in F.
           * </pre>
           *
           * <code>optional int32 ambientTemperatureAvg = 25;</code>
           */
          boolean hasAmbientTemperatureAvg();
          /**
           * <pre>
           *&#47; Temperature in F.
           * </pre>
           *
           * <code>optional int32 ambientTemperatureAvg = 25;</code>
           */
          int getAmbientTemperatureAvg();

          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          boolean hasTirePressure();
          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure();
          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder();

          /**
           * <code>optional bytes mzrModeAct = 27;</code>
           */
          boolean hasMzrModeAct();
          /**
           * <code>optional bytes mzrModeAct = 27;</code>
           */
          com.google.protobuf.ByteString getMzrModeAct();

          /**
           * <code>optional bytes dpfDefWarningStatus = 28;</code>
           */
          boolean hasDpfDefWarningStatus();
          /**
           * <code>optional bytes dpfDefWarningStatus = 28;</code>
           */
          com.google.protobuf.ByteString getDpfDefWarningStatus();

          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
           */
          boolean hasAbsLampStatus();
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
           */
          com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampStatus();

          /**
           * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
           */
          boolean hasBrkIndLmpOnRqESC();
          /**
           * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
           */
          com.google.protobuf.ByteString getBrkIndLmpOnRqESC();

          /**
           * <code>optional bool isCheckFuelCap = 31;</code>
           */
          boolean hasIsCheckFuelCap();
          /**
           * <code>optional bool isCheckFuelCap = 31;</code>
           */
          boolean getIsCheckFuelCap();

          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
           */
          boolean hasEtcLmpIndSts();
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
           */
          com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts();

          /**
           * <code>optional int32 oilPressure = 33;</code>
           */
          boolean hasOilPressure();
          /**
           * <code>optional int32 oilPressure = 33;</code>
           */
          int getOilPressure();

          /**
           * <code>optional bytes txTempExcess = 34;</code>
           */
          boolean hasTxTempExcess();
          /**
           * <code>optional bytes txTempExcess = 34;</code>
           */
          com.google.protobuf.ByteString getTxTempExcess();

          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
           */
          boolean hasSrsIndLmpSts();
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
           */
          com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts();

          /**
           * <code>optional bool isBrakeFluidLow = 36;</code>
           */
          boolean hasIsBrakeFluidLow();
          /**
           * <code>optional bool isBrakeFluidLow = 36;</code>
           */
          boolean getIsBrakeFluidLow();

          /**
           * <code>optional bool isEngineOilLampOn = 37;</code>
           */
          boolean hasIsEngineOilLampOn();
          /**
           * <code>optional bool isEngineOilLampOn = 37;</code>
           */
          boolean getIsEngineOilLampOn();

          /**
           * <code>optional int32 oilTempIndicatorRq = 38;</code>
           */
          boolean hasOilTempIndicatorRq();
          /**
           * <code>optional int32 oilTempIndicatorRq = 38;</code>
           */
          int getOilTempIndicatorRq();

          /**
           * <code>optional int32 engineTrqRqEsc = 40;</code>
           */
          boolean hasEngineTrqRqEsc();
          /**
           * <code>optional int32 engineTrqRqEsc = 40;</code>
           */
          int getEngineTrqRqEsc();

          /**
           * <code>optional int32 engineLoad = 41;</code>
           */
          boolean hasEngineLoad();
          /**
           * <code>optional int32 engineLoad = 41;</code>
           */
          int getEngineLoad();

          /**
           * <pre>
           *&#47; Range -40 to 105,  255 = SNA
           * </pre>
           *
           * <code>optional sint32 IBS_T_BATT = 42;</code>
           */
          boolean hasIBSTBATT();
          /**
           * <pre>
           *&#47; Range -40 to 105,  255 = SNA
           * </pre>
           *
           * <code>optional sint32 IBS_T_BATT = 42;</code>
           */
          int getIBSTBATT();

          /**
           * <pre>
           *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
           * </pre>
           *
           * <code>optional float IBS_V_BATT = 43;</code>
           */
          boolean hasIBSVBATT();
          /**
           * <pre>
           *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
           * </pre>
           *
           * <code>optional float IBS_V_BATT = 43;</code>
           */
          float getIBSVBATT();

          /**
           * <code>optional float IBS_SOC = 44;</code>
           */
          boolean hasIBSSOC();
          /**
           * <code>optional float IBS_SOC = 44;</code>
           */
          float getIBSSOC();

          /**
           * <code>optional bytes batterySTCrit = 45;</code>
           */
          boolean hasBatterySTCrit();
          /**
           * <code>optional bytes batterySTCrit = 45;</code>
           */
          com.google.protobuf.ByteString getBatterySTCrit();

          /**
           * <code>optional int32 BoostPressureIndication = 46;</code>
           */
          boolean hasBoostPressureIndication();
          /**
           * <code>optional int32 BoostPressureIndication = 46;</code>
           */
          int getBoostPressureIndication();

          /**
           * <code>optional int32 rainSensorLevel = 47;</code>
           */
          boolean hasRainSensorLevel();
          /**
           * <code>optional int32 rainSensorLevel = 47;</code>
           */
          int getRainSensorLevel();

          /**
           * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
           */
          boolean hasActlAcceleratorPedalPosition();
          /**
           * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
           */
          int getActlAcceleratorPedalPosition();

          /**
           * <code>optional int32 acceleratorPedalPosition = 49;</code>
           */
          boolean hasAcceleratorPedalPosition();
          /**
           * <code>optional int32 acceleratorPedalPosition = 49;</code>
           */
          int getAcceleratorPedalPosition();

          /**
           * <pre>
           *&#47; Range -32768 to 32766,  65535 = SNA 
           * </pre>
           *
           * <code>optional sint32 IBS_I_BATT = 50;</code>
           */
          boolean hasIBSIBATT();
          /**
           * <pre>
           *&#47; Range -32768 to 32766,  65535 = SNA 
           * </pre>
           *
           * <code>optional sint32 IBS_I_BATT = 50;</code>
           */
          int getIBSIBATT();

          /**
           * <code>optional int32 fuelCons = 51;</code>
           */
          boolean hasFuelCons();
          /**
           * <code>optional int32 fuelCons = 51;</code>
           */
          int getFuelCons();

          /**
           * <code>optional int32 engineTorqueStatic = 52;</code>
           */
          boolean hasEngineTorqueStatic();
          /**
           * <code>optional int32 engineTorqueStatic = 52;</code>
           */
          int getEngineTorqueStatic();

          /**
           * <code>optional bytes brakeStatus = 53;</code>
           */
          boolean hasBrakeStatus();
          /**
           * <code>optional bytes brakeStatus = 53;</code>
           */
          com.google.protobuf.ByteString getBrakeStatus();

          /**
           * <code>optional bytes absBrakeEvent = 54;</code>
           */
          boolean hasAbsBrakeEvent();
          /**
           * <code>optional bytes absBrakeEvent = 54;</code>
           */
          com.google.protobuf.ByteString getAbsBrakeEvent();

          /**
           * <code>optional bytes spStDispstat = 55;</code>
           */
          boolean hasSpStDispstat();
          /**
           * <code>optional bytes spStDispstat = 55;</code>
           */
          com.google.protobuf.ByteString getSpStDispstat();

          /**
           * <code>optional int32 VC_AS_ERS = 56;</code>
           */
          boolean hasVCASERS();
          /**
           * <code>optional int32 VC_AS_ERS = 56;</code>
           */
          int getVCASERS();

          /**
           * <code>optional int32 DrvRqShftROT = 57;</code>
           */
          boolean hasDrvRqShftROT();
          /**
           * <code>optional int32 DrvRqShftROT = 57;</code>
           */
          int getDrvRqShftROT();

          /**
           * <code>optional bytes EPBHoldSts = 58;</code>
           */
          boolean hasEPBHoldSts();
          /**
           * <code>optional bytes EPBHoldSts = 58;</code>
           */
          com.google.protobuf.ByteString getEPBHoldSts();

          /**
           * <code>optional int32 Pad_Shft = 59;</code>
           */
          boolean hasPadShft();
          /**
           * <code>optional int32 Pad_Shft = 59;</code>
           */
          int getPadShft();

          /**
           * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
           */
          boolean hasTCaseAWDDrvMdRq();
          /**
           * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
           */
          int getTCaseAWDDrvMdRq();

          /**
           * <code>optional int32 TRNS_SPD_MC = 61;</code>
           */
          boolean hasTRNSSPDMC();
          /**
           * <code>optional int32 TRNS_SPD_MC = 61;</code>
           */
          int getTRNSSPDMC();

          /**
           * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
           */
          boolean hasTrnsEMCCAchvd();
          /**
           * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
           */
          int getTrnsEMCCAchvd();

          /**
           * <code>optional bytes outputSpdPolarity = 63;</code>
           */
          boolean hasOutputSpdPolarity();
          /**
           * <code>optional bytes outputSpdPolarity = 63;</code>
           */
          com.google.protobuf.ByteString getOutputSpdPolarity();

          /**
           * <code>optional int32 outputSpeed = 64;</code>
           */
          boolean hasOutputSpeed();
          /**
           * <code>optional int32 outputSpeed = 64;</code>
           */
          int getOutputSpeed();

          /**
           * <code>optional int32 nTurb = 65;</code>
           */
          boolean hasNTurb();
          /**
           * <code>optional int32 nTurb = 65;</code>
           */
          int getNTurb();

          /**
           * <code>optional int32 KS = 66;</code>
           */
          boolean hasKS();
          /**
           * <code>optional int32 KS = 66;</code>
           */
          int getKS();

          /**
           * <code>optional int32 K_STO_B = 67;</code>
           */
          boolean hasKSTOB();
          /**
           * <code>optional int32 K_STO_B = 67;</code>
           */
          int getKSTOB();

          /**
           * <code>optional int32 K_S_B = 68;</code>
           */
          boolean hasKSB();
          /**
           * <code>optional int32 K_S_B = 68;</code>
           */
          int getKSB();

          /**
           * <code>optional int32 K_O_B = 69;</code>
           */
          boolean hasKOB();
          /**
           * <code>optional int32 K_O_B = 69;</code>
           */
          int getKOB();

          /**
           * <code>optional int32 K_G_B = 70;</code>
           */
          boolean hasKGB();
          /**
           * <code>optional int32 K_G_B = 70;</code>
           */
          int getKGB();

          /**
           * <code>optional int32 grTarget = 71;</code>
           */
          boolean hasGrTarget();
          /**
           * <code>optional int32 grTarget = 71;</code>
           */
          int getGrTarget();

          /**
           * <code>optional bytes gearSwitchActiveStatus = 72;</code>
           */
          boolean hasGearSwitchActiveStatus();
          /**
           * <code>optional bytes gearSwitchActiveStatus = 72;</code>
           */
          com.google.protobuf.ByteString getGearSwitchActiveStatus();

          /**
           * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
           */
          boolean hasEngStEnblRqTCM();
          /**
           * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
           */
          com.google.protobuf.ByteString getEngStEnblRqTCM();

          /**
           * <code>optional int32 TX_TEMP = 74;</code>
           */
          boolean hasTXTEMP();
          /**
           * <code>optional int32 TX_TEMP = 74;</code>
           */
          int getTXTEMP();

          /**
           * <code>optional int32 BrkPrss_TMC = 75;</code>
           */
          boolean hasBrkPrssTMC();
          /**
           * <code>optional int32 BrkPrss_TMC = 75;</code>
           */
          int getBrkPrssTMC();

          /**
           * <code>optional int32 PrplsnSysAtv = 76;</code>
           */
          boolean hasPrplsnSysAtv();
          /**
           * <code>optional int32 PrplsnSysAtv = 76;</code>
           */
          int getPrplsnSysAtv();

          /**
           * <code>optional bytes DriveReady = 77;</code>
           */
          boolean hasDriveReady();
          /**
           * <code>optional bytes DriveReady = 77;</code>
           */
          com.google.protobuf.ByteString getDriveReady();

          /**
           * <code>optional bytes PRND_STAT = 78;</code>
           */
          boolean hasPRNDSTAT();
          /**
           * <code>optional bytes PRND_STAT = 78;</code>
           */
          com.google.protobuf.ByteString getPRNDSTAT();

          /**
           * <code>optional bytes HVBatCntctrStat = 79;</code>
           */
          boolean hasHVBatCntctrStat();
          /**
           * <code>optional bytes HVBatCntctrStat = 79;</code>
           */
          com.google.protobuf.ByteString getHVBatCntctrStat();

          /**
           * <code>optional bytes chargingSystemStatus = 80;</code>
           */
          boolean hasChargingSystemStatus();
          /**
           * <code>optional bytes chargingSystemStatus = 80;</code>
           */
          com.google.protobuf.ByteString getChargingSystemStatus();

          /**
           * <code>optional int32 chargingLevel = 81;</code>
           */
          boolean hasChargingLevel();
          /**
           * <code>optional int32 chargingLevel = 81;</code>
           */
          int getChargingLevel();

          /**
           * <code>optional int32 HVBatSOC_HCP = 82;</code>
           */
          boolean hasHVBatSOCHCP();
          /**
           * <code>optional int32 HVBatSOC_HCP = 82;</code>
           */
          int getHVBatSOCHCP();

          /**
           * <code>optional int32 wheelRPMRearRight = 83;</code>
           */
          boolean hasWheelRPMRearRight();
          /**
           * <code>optional int32 wheelRPMRearRight = 83;</code>
           */
          int getWheelRPMRearRight();

          /**
           * <code>optional int32 wheelRPMRearLeft = 84;</code>
           */
          boolean hasWheelRPMRearLeft();
          /**
           * <code>optional int32 wheelRPMRearLeft = 84;</code>
           */
          int getWheelRPMRearLeft();

          /**
           * <code>optional int32 wheelRPMFrontRight = 85;</code>
           */
          boolean hasWheelRPMFrontRight();
          /**
           * <code>optional int32 wheelRPMFrontRight = 85;</code>
           */
          int getWheelRPMFrontRight();

          /**
           * <code>optional int32 wheelRPMFrontLeft = 86;</code>
           */
          boolean hasWheelRPMFrontLeft();
          /**
           * <code>optional int32 wheelRPMFrontLeft = 86;</code>
           */
          int getWheelRPMFrontLeft();

          /**
           * <code>optional bytes TCASE_STAT = 87;</code>
           */
          boolean hasTCASESTAT();
          /**
           * <code>optional bytes TCASE_STAT = 87;</code>
           */
          com.google.protobuf.ByteString getTCASESTAT();

          /**
           * <code>optional bytes SHFT_PROG = 89;</code>
           */
          boolean hasSHFTPROG();
          /**
           * <code>optional bytes SHFT_PROG = 89;</code>
           */
          com.google.protobuf.ByteString getSHFTPROG();

          /**
           * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
           */
          boolean hasCCSetSpdDsplMPH();
          /**
           * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
           */
          int getCCSetSpdDsplMPH();

          /**
           * <code>optional bytes ACCOnOff = 91;</code>
           */
          boolean hasACCOnOff();
          /**
           * <code>optional bytes ACCOnOff = 91;</code>
           */
          com.google.protobuf.ByteString getACCOnOff();

          /**
           * <code>optional int32 CRUISE_EGD = 92;</code>
           */
          boolean hasCRUISEEGD();
          /**
           * <code>optional int32 CRUISE_EGD = 92;</code>
           */
          int getCRUISEEGD();

          /**
           * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
           */
          boolean hasTrnsTrqReqSlow2();
          /**
           * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
           */
          int getTrnsTrqReqSlow2();

          /**
           * <code>optional bytes ConsumptionUnit = 94;</code>
           */
          boolean hasConsumptionUnit();
          /**
           * <code>optional bytes ConsumptionUnit = 94;</code>
           */
          com.google.protobuf.ByteString getConsumptionUnit();

          /**
           * <code>optional bytes PFW_Stat = 95;</code>
           */
          boolean hasPFWStat();
          /**
           * <code>optional bytes PFW_Stat = 95;</code>
           */
          com.google.protobuf.ByteString getPFWStat();

          /**
           * <code>optional bytes Map_Eng = 96;</code>
           */
          boolean hasMapEng();
          /**
           * <code>optional bytes Map_Eng = 96;</code>
           */
          com.google.protobuf.ByteString getMapEng();

          /**
           * <code>optional int32 adblue_FL_LVL = 97;</code>
           */
          boolean hasAdblueFLLVL();
          /**
           * <code>optional int32 adblue_FL_LVL = 97;</code>
           */
          int getAdblueFLLVL();
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data}
         */
        public  static final class Data extends
            com.google.protobuf.GeneratedMessageV3 implements
            // @@protoc_insertion_point(message_implements:com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data)
            DataOrBuilder {
          // Use Data.newBuilder() to construct.
          private Data(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
          }
          private Data() {
            batteryVoltage_ = 0F;
            engineRPM_ = 0F;
            vehicleSpeed_ = 0F;
            ignitionOffTimeLong_ = 0;
            instantFuelEconomy_ = 0;
            gr_ = 0;
            isMILOnRq_ = false;
            oDO_ = 0;
            avgFuelLvl_ = 0;
            engineOilTemperature_ = 0;
            engineCoolantTemperature_ = 0;
            isDayLightMode_ = false;
            isEModeSatus_ = com.google.protobuf.ByteString.EMPTY;
            driverDoorSatus_ = com.google.protobuf.ByteString.EMPTY;
            cmdIgnitionStatus_ = com.google.protobuf.ByteString.EMPTY;
            frontLeftHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
            autoDfgStatus_ = com.google.protobuf.ByteString.EMPTY;
            fTFOGRQ_ = com.google.protobuf.ByteString.EMPTY;
            isACClutchEngaged_ = false;
            vehPerfAccelX_ = 0F;
            vehPerfAccelY_ = 0F;
            frontRightHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
            spStSwStat_ = com.google.protobuf.ByteString.EMPTY;
            essEngineStatus_ = com.google.protobuf.ByteString.EMPTY;
            ambientTemperatureAvg_ = 0;
            mzrModeAct_ = com.google.protobuf.ByteString.EMPTY;
            dpfDefWarningStatus_ = com.google.protobuf.ByteString.EMPTY;
            absLampStatus_ = 0;
            brkIndLmpOnRqESC_ = com.google.protobuf.ByteString.EMPTY;
            isCheckFuelCap_ = false;
            etcLmpIndSts_ = 0;
            oilPressure_ = 0;
            txTempExcess_ = com.google.protobuf.ByteString.EMPTY;
            srsIndLmpSts_ = 0;
            isBrakeFluidLow_ = false;
            isEngineOilLampOn_ = false;
            oilTempIndicatorRq_ = 0;
            engineTrqRqEsc_ = 0;
            engineLoad_ = 0;
            iBSTBATT_ = 0;
            iBSVBATT_ = 0F;
            iBSSOC_ = 0F;
            batterySTCrit_ = com.google.protobuf.ByteString.EMPTY;
            boostPressureIndication_ = 0;
            rainSensorLevel_ = 0;
            actlAcceleratorPedalPosition_ = 0;
            acceleratorPedalPosition_ = 0;
            iBSIBATT_ = 0;
            fuelCons_ = 0;
            engineTorqueStatic_ = 0;
            brakeStatus_ = com.google.protobuf.ByteString.EMPTY;
            absBrakeEvent_ = com.google.protobuf.ByteString.EMPTY;
            spStDispstat_ = com.google.protobuf.ByteString.EMPTY;
            vCASERS_ = 0;
            drvRqShftROT_ = 0;
            ePBHoldSts_ = com.google.protobuf.ByteString.EMPTY;
            padShft_ = 0;
            tCaseAWDDrvMdRq_ = 0;
            tRNSSPDMC_ = 0;
            trnsEMCCAchvd_ = 0;
            outputSpdPolarity_ = com.google.protobuf.ByteString.EMPTY;
            outputSpeed_ = 0;
            nTurb_ = 0;
            kS_ = 0;
            kSTOB_ = 0;
            kSB_ = 0;
            kOB_ = 0;
            kGB_ = 0;
            grTarget_ = 0;
            gearSwitchActiveStatus_ = com.google.protobuf.ByteString.EMPTY;
            engStEnblRqTCM_ = com.google.protobuf.ByteString.EMPTY;
            tXTEMP_ = 0;
            brkPrssTMC_ = 0;
            prplsnSysAtv_ = 0;
            driveReady_ = com.google.protobuf.ByteString.EMPTY;
            pRNDSTAT_ = com.google.protobuf.ByteString.EMPTY;
            hVBatCntctrStat_ = com.google.protobuf.ByteString.EMPTY;
            chargingSystemStatus_ = com.google.protobuf.ByteString.EMPTY;
            chargingLevel_ = 0;
            hVBatSOCHCP_ = 0;
            wheelRPMRearRight_ = 0;
            wheelRPMRearLeft_ = 0;
            wheelRPMFrontRight_ = 0;
            wheelRPMFrontLeft_ = 0;
            tCASESTAT_ = com.google.protobuf.ByteString.EMPTY;
            sHFTPROG_ = com.google.protobuf.ByteString.EMPTY;
            cCSetSpdDsplMPH_ = 0;
            aCCOnOff_ = com.google.protobuf.ByteString.EMPTY;
            cRUISEEGD_ = 0;
            trnsTrqReqSlow2_ = 0;
            consumptionUnit_ = com.google.protobuf.ByteString.EMPTY;
            pFWStat_ = com.google.protobuf.ByteString.EMPTY;
            mapEng_ = com.google.protobuf.ByteString.EMPTY;
            adblueFLLVL_ = 0;
          }

          @java.lang.Override
          public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
            return this.unknownFields;
          }
          private Data(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            int mutable_bitField0_ = 0;
            int mutable_bitField1_ = 0;
            int mutable_bitField2_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.protobuf.UnknownFieldSet.newBuilder();
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      done = true;
                    }
                    break;
                  }
                  case 13: {
                    bitField0_ |= 0x00000001;
                    batteryVoltage_ = input.readFloat();
                    break;
                  }
                  case 21: {
                    bitField0_ |= 0x00000002;
                    engineRPM_ = input.readFloat();
                    break;
                  }
                  case 29: {
                    bitField0_ |= 0x00000004;
                    vehicleSpeed_ = input.readFloat();
                    break;
                  }
                  case 32: {
                    bitField0_ |= 0x00000008;
                    ignitionOffTimeLong_ = input.readInt32();
                    break;
                  }
                  case 40: {
                    bitField0_ |= 0x00000010;
                    instantFuelEconomy_ = input.readInt32();
                    break;
                  }
                  case 48: {
                    bitField0_ |= 0x00000020;
                    gr_ = input.readInt32();
                    break;
                  }
                  case 56: {
                    bitField0_ |= 0x00000040;
                    isMILOnRq_ = input.readBool();
                    break;
                  }
                  case 64: {
                    bitField0_ |= 0x00000080;
                    oDO_ = input.readInt32();
                    break;
                  }
                  case 72: {
                    bitField0_ |= 0x00000100;
                    avgFuelLvl_ = input.readInt32();
                    break;
                  }
                  case 80: {
                    bitField0_ |= 0x00000200;
                    engineOilTemperature_ = input.readInt32();
                    break;
                  }
                  case 88: {
                    bitField0_ |= 0x00000400;
                    engineCoolantTemperature_ = input.readInt32();
                    break;
                  }
                  case 96: {
                    bitField0_ |= 0x00000800;
                    isDayLightMode_ = input.readBool();
                    break;
                  }
                  case 106: {
                    bitField0_ |= 0x00001000;
                    isEModeSatus_ = input.readBytes();
                    break;
                  }
                  case 114: {
                    bitField0_ |= 0x00002000;
                    driverDoorSatus_ = input.readBytes();
                    break;
                  }
                  case 122: {
                    bitField0_ |= 0x00004000;
                    cmdIgnitionStatus_ = input.readBytes();
                    break;
                  }
                  case 130: {
                    bitField0_ |= 0x00008000;
                    frontLeftHeatedSeatStatus_ = input.readBytes();
                    break;
                  }
                  case 138: {
                    bitField0_ |= 0x00010000;
                    autoDfgStatus_ = input.readBytes();
                    break;
                  }
                  case 146: {
                    bitField0_ |= 0x00020000;
                    fTFOGRQ_ = input.readBytes();
                    break;
                  }
                  case 152: {
                    bitField0_ |= 0x00040000;
                    isACClutchEngaged_ = input.readBool();
                    break;
                  }
                  case 165: {
                    bitField0_ |= 0x00080000;
                    vehPerfAccelX_ = input.readFloat();
                    break;
                  }
                  case 173: {
                    bitField0_ |= 0x00100000;
                    vehPerfAccelY_ = input.readFloat();
                    break;
                  }
                  case 178: {
                    bitField0_ |= 0x00200000;
                    frontRightHeatedSeatStatus_ = input.readBytes();
                    break;
                  }
                  case 186: {
                    bitField0_ |= 0x00400000;
                    spStSwStat_ = input.readBytes();
                    break;
                  }
                  case 194: {
                    bitField0_ |= 0x00800000;
                    essEngineStatus_ = input.readBytes();
                    break;
                  }
                  case 200: {
                    bitField0_ |= 0x01000000;
                    ambientTemperatureAvg_ = input.readInt32();
                    break;
                  }
                  case 210: {
                    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder subBuilder = null;
                    if (((bitField0_ & 0x02000000) == 0x02000000)) {
                      subBuilder = tirePressure_.toBuilder();
                    }
                    tirePressure_ = input.readMessage(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.PARSER, extensionRegistry);
                    if (subBuilder != null) {
                      subBuilder.mergeFrom(tirePressure_);
                      tirePressure_ = subBuilder.buildPartial();
                    }
                    bitField0_ |= 0x02000000;
                    break;
                  }
                  case 218: {
                    bitField0_ |= 0x04000000;
                    mzrModeAct_ = input.readBytes();
                    break;
                  }
                  case 226: {
                    bitField0_ |= 0x08000000;
                    dpfDefWarningStatus_ = input.readBytes();
                    break;
                  }
                  case 232: {
                    int rawValue = input.readEnum();
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
                    if (value == null) {
                      unknownFields.mergeVarintField(29, rawValue);
                    } else {
                      bitField0_ |= 0x10000000;
                      absLampStatus_ = rawValue;
                    }
                    break;
                  }
                  case 242: {
                    bitField0_ |= 0x20000000;
                    brkIndLmpOnRqESC_ = input.readBytes();
                    break;
                  }
                  case 248: {
                    bitField0_ |= 0x40000000;
                    isCheckFuelCap_ = input.readBool();
                    break;
                  }
                  case 256: {
                    int rawValue = input.readEnum();
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
                    if (value == null) {
                      unknownFields.mergeVarintField(32, rawValue);
                    } else {
                      bitField0_ |= 0x80000000;
                      etcLmpIndSts_ = rawValue;
                    }
                    break;
                  }
                  case 264: {
                    bitField1_ |= 0x00000001;
                    oilPressure_ = input.readInt32();
                    break;
                  }
                  case 274: {
                    bitField1_ |= 0x00000002;
                    txTempExcess_ = input.readBytes();
                    break;
                  }
                  case 280: {
                    int rawValue = input.readEnum();
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(rawValue);
                    if (value == null) {
                      unknownFields.mergeVarintField(35, rawValue);
                    } else {
                      bitField1_ |= 0x00000004;
                      srsIndLmpSts_ = rawValue;
                    }
                    break;
                  }
                  case 288: {
                    bitField1_ |= 0x00000008;
                    isBrakeFluidLow_ = input.readBool();
                    break;
                  }
                  case 296: {
                    bitField1_ |= 0x00000010;
                    isEngineOilLampOn_ = input.readBool();
                    break;
                  }
                  case 304: {
                    bitField1_ |= 0x00000020;
                    oilTempIndicatorRq_ = input.readInt32();
                    break;
                  }
                  case 320: {
                    bitField1_ |= 0x00000040;
                    engineTrqRqEsc_ = input.readInt32();
                    break;
                  }
                  case 328: {
                    bitField1_ |= 0x00000080;
                    engineLoad_ = input.readInt32();
                    break;
                  }
                  case 336: {
                    bitField1_ |= 0x00000100;
                    iBSTBATT_ = input.readSInt32();
                    break;
                  }
                  case 349: {
                    bitField1_ |= 0x00000200;
                    iBSVBATT_ = input.readFloat();
                    break;
                  }
                  case 357: {
                    bitField1_ |= 0x00000400;
                    iBSSOC_ = input.readFloat();
                    break;
                  }
                  case 362: {
                    bitField1_ |= 0x00000800;
                    batterySTCrit_ = input.readBytes();
                    break;
                  }
                  case 368: {
                    bitField1_ |= 0x00001000;
                    boostPressureIndication_ = input.readInt32();
                    break;
                  }
                  case 376: {
                    bitField1_ |= 0x00002000;
                    rainSensorLevel_ = input.readInt32();
                    break;
                  }
                  case 384: {
                    bitField1_ |= 0x00004000;
                    actlAcceleratorPedalPosition_ = input.readInt32();
                    break;
                  }
                  case 392: {
                    bitField1_ |= 0x00008000;
                    acceleratorPedalPosition_ = input.readInt32();
                    break;
                  }
                  case 400: {
                    bitField1_ |= 0x00010000;
                    iBSIBATT_ = input.readSInt32();
                    break;
                  }
                  case 408: {
                    bitField1_ |= 0x00020000;
                    fuelCons_ = input.readInt32();
                    break;
                  }
                  case 416: {
                    bitField1_ |= 0x00040000;
                    engineTorqueStatic_ = input.readInt32();
                    break;
                  }
                  case 426: {
                    bitField1_ |= 0x00080000;
                    brakeStatus_ = input.readBytes();
                    break;
                  }
                  case 434: {
                    bitField1_ |= 0x00100000;
                    absBrakeEvent_ = input.readBytes();
                    break;
                  }
                  case 442: {
                    bitField1_ |= 0x00200000;
                    spStDispstat_ = input.readBytes();
                    break;
                  }
                  case 448: {
                    bitField1_ |= 0x00400000;
                    vCASERS_ = input.readInt32();
                    break;
                  }
                  case 456: {
                    bitField1_ |= 0x00800000;
                    drvRqShftROT_ = input.readInt32();
                    break;
                  }
                  case 466: {
                    bitField1_ |= 0x01000000;
                    ePBHoldSts_ = input.readBytes();
                    break;
                  }
                  case 472: {
                    bitField1_ |= 0x02000000;
                    padShft_ = input.readInt32();
                    break;
                  }
                  case 480: {
                    bitField1_ |= 0x04000000;
                    tCaseAWDDrvMdRq_ = input.readInt32();
                    break;
                  }
                  case 488: {
                    bitField1_ |= 0x08000000;
                    tRNSSPDMC_ = input.readInt32();
                    break;
                  }
                  case 496: {
                    bitField1_ |= 0x10000000;
                    trnsEMCCAchvd_ = input.readInt32();
                    break;
                  }
                  case 506: {
                    bitField1_ |= 0x20000000;
                    outputSpdPolarity_ = input.readBytes();
                    break;
                  }
                  case 512: {
                    bitField1_ |= 0x40000000;
                    outputSpeed_ = input.readInt32();
                    break;
                  }
                  case 520: {
                    bitField1_ |= 0x80000000;
                    nTurb_ = input.readInt32();
                    break;
                  }
                  case 528: {
                    bitField2_ |= 0x00000001;
                    kS_ = input.readInt32();
                    break;
                  }
                  case 536: {
                    bitField2_ |= 0x00000002;
                    kSTOB_ = input.readInt32();
                    break;
                  }
                  case 544: {
                    bitField2_ |= 0x00000004;
                    kSB_ = input.readInt32();
                    break;
                  }
                  case 552: {
                    bitField2_ |= 0x00000008;
                    kOB_ = input.readInt32();
                    break;
                  }
                  case 560: {
                    bitField2_ |= 0x00000010;
                    kGB_ = input.readInt32();
                    break;
                  }
                  case 568: {
                    bitField2_ |= 0x00000020;
                    grTarget_ = input.readInt32();
                    break;
                  }
                  case 578: {
                    bitField2_ |= 0x00000040;
                    gearSwitchActiveStatus_ = input.readBytes();
                    break;
                  }
                  case 586: {
                    bitField2_ |= 0x00000080;
                    engStEnblRqTCM_ = input.readBytes();
                    break;
                  }
                  case 592: {
                    bitField2_ |= 0x00000100;
                    tXTEMP_ = input.readInt32();
                    break;
                  }
                  case 600: {
                    bitField2_ |= 0x00000200;
                    brkPrssTMC_ = input.readInt32();
                    break;
                  }
                  case 608: {
                    bitField2_ |= 0x00000400;
                    prplsnSysAtv_ = input.readInt32();
                    break;
                  }
                  case 618: {
                    bitField2_ |= 0x00000800;
                    driveReady_ = input.readBytes();
                    break;
                  }
                  case 626: {
                    bitField2_ |= 0x00001000;
                    pRNDSTAT_ = input.readBytes();
                    break;
                  }
                  case 634: {
                    bitField2_ |= 0x00002000;
                    hVBatCntctrStat_ = input.readBytes();
                    break;
                  }
                  case 642: {
                    bitField2_ |= 0x00004000;
                    chargingSystemStatus_ = input.readBytes();
                    break;
                  }
                  case 648: {
                    bitField2_ |= 0x00008000;
                    chargingLevel_ = input.readInt32();
                    break;
                  }
                  case 656: {
                    bitField2_ |= 0x00010000;
                    hVBatSOCHCP_ = input.readInt32();
                    break;
                  }
                  case 664: {
                    bitField2_ |= 0x00020000;
                    wheelRPMRearRight_ = input.readInt32();
                    break;
                  }
                  case 672: {
                    bitField2_ |= 0x00040000;
                    wheelRPMRearLeft_ = input.readInt32();
                    break;
                  }
                  case 680: {
                    bitField2_ |= 0x00080000;
                    wheelRPMFrontRight_ = input.readInt32();
                    break;
                  }
                  case 688: {
                    bitField2_ |= 0x00100000;
                    wheelRPMFrontLeft_ = input.readInt32();
                    break;
                  }
                  case 698: {
                    bitField2_ |= 0x00200000;
                    tCASESTAT_ = input.readBytes();
                    break;
                  }
                  case 714: {
                    bitField2_ |= 0x00400000;
                    sHFTPROG_ = input.readBytes();
                    break;
                  }
                  case 720: {
                    bitField2_ |= 0x00800000;
                    cCSetSpdDsplMPH_ = input.readInt32();
                    break;
                  }
                  case 730: {
                    bitField2_ |= 0x01000000;
                    aCCOnOff_ = input.readBytes();
                    break;
                  }
                  case 736: {
                    bitField2_ |= 0x02000000;
                    cRUISEEGD_ = input.readInt32();
                    break;
                  }
                  case 744: {
                    bitField2_ |= 0x04000000;
                    trnsTrqReqSlow2_ = input.readInt32();
                    break;
                  }
                  case 754: {
                    bitField2_ |= 0x08000000;
                    consumptionUnit_ = input.readBytes();
                    break;
                  }
                  case 762: {
                    bitField2_ |= 0x10000000;
                    pFWStat_ = input.readBytes();
                    break;
                  }
                  case 770: {
                    bitField2_ |= 0x20000000;
                    mapEng_ = input.readBytes();
                    break;
                  }
                  case 776: {
                    bitField2_ |= 0x40000000;
                    adblueFLLVL_ = input.readInt32();
                    break;
                  }
                }
              }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
              throw new com.google.protobuf.InvalidProtocolBufferException(
                  e).setUnfinishedMessage(this);
            } finally {
              this.unknownFields = unknownFields.build();
              makeExtensionsImmutable();
            }
          }
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder.class);
          }

          private int bitField0_;
          private int bitField1_;
          private int bitField2_;
          public static final int BATTERYVOLTAGE_FIELD_NUMBER = 1;
          private float batteryVoltage_;
          /**
           * <code>optional float batteryVoltage = 1;</code>
           */
          public boolean hasBatteryVoltage() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional float batteryVoltage = 1;</code>
           */
          public float getBatteryVoltage() {
            return batteryVoltage_;
          }

          public static final int ENGINERPM_FIELD_NUMBER = 2;
          private float engineRPM_;
          /**
           * <code>optional float engineRPM = 2;</code>
           */
          public boolean hasEngineRPM() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional float engineRPM = 2;</code>
           */
          public float getEngineRPM() {
            return engineRPM_;
          }

          public static final int VEHICLESPEED_FIELD_NUMBER = 3;
          private float vehicleSpeed_;
          /**
           * <code>optional float vehicleSpeed = 3;</code>
           */
          public boolean hasVehicleSpeed() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional float vehicleSpeed = 3;</code>
           */
          public float getVehicleSpeed() {
            return vehicleSpeed_;
          }

          public static final int IGNITIONOFFTIMELONG_FIELD_NUMBER = 4;
          private int ignitionOffTimeLong_;
          /**
           * <code>optional int32 ignitionOffTimeLong = 4;</code>
           */
          public boolean hasIgnitionOffTimeLong() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional int32 ignitionOffTimeLong = 4;</code>
           */
          public int getIgnitionOffTimeLong() {
            return ignitionOffTimeLong_;
          }

          public static final int INSTANTFUELECONOMY_FIELD_NUMBER = 5;
          private int instantFuelEconomy_;
          /**
           * <code>optional int32 instantFuelEconomy = 5;</code>
           */
          public boolean hasInstantFuelEconomy() {
            return ((bitField0_ & 0x00000010) == 0x00000010);
          }
          /**
           * <code>optional int32 instantFuelEconomy = 5;</code>
           */
          public int getInstantFuelEconomy() {
            return instantFuelEconomy_;
          }

          public static final int GR_FIELD_NUMBER = 6;
          private int gr_;
          /**
           * <code>optional int32 Gr = 6;</code>
           */
          public boolean hasGr() {
            return ((bitField0_ & 0x00000020) == 0x00000020);
          }
          /**
           * <code>optional int32 Gr = 6;</code>
           */
          public int getGr() {
            return gr_;
          }

          public static final int ISMILONRQ_FIELD_NUMBER = 7;
          private boolean isMILOnRq_;
          /**
           * <code>optional bool isMILOnRq = 7;</code>
           */
          public boolean hasIsMILOnRq() {
            return ((bitField0_ & 0x00000040) == 0x00000040);
          }
          /**
           * <code>optional bool isMILOnRq = 7;</code>
           */
          public boolean getIsMILOnRq() {
            return isMILOnRq_;
          }

          public static final int ODO_FIELD_NUMBER = 8;
          private int oDO_;
          /**
           * <code>optional int32 ODO = 8;</code>
           */
          public boolean hasODO() {
            return ((bitField0_ & 0x00000080) == 0x00000080);
          }
          /**
           * <code>optional int32 ODO = 8;</code>
           */
          public int getODO() {
            return oDO_;
          }

          public static final int AVGFUELLVL_FIELD_NUMBER = 9;
          private int avgFuelLvl_;
          /**
           * <code>optional int32 avgFuelLvl = 9;</code>
           */
          public boolean hasAvgFuelLvl() {
            return ((bitField0_ & 0x00000100) == 0x00000100);
          }
          /**
           * <code>optional int32 avgFuelLvl = 9;</code>
           */
          public int getAvgFuelLvl() {
            return avgFuelLvl_;
          }

          public static final int ENGINEOILTEMPERATURE_FIELD_NUMBER = 10;
          private int engineOilTemperature_;
          /**
           * <code>optional int32 engineOilTemperature = 10;</code>
           */
          public boolean hasEngineOilTemperature() {
            return ((bitField0_ & 0x00000200) == 0x00000200);
          }
          /**
           * <code>optional int32 engineOilTemperature = 10;</code>
           */
          public int getEngineOilTemperature() {
            return engineOilTemperature_;
          }

          public static final int ENGINECOOLANTTEMPERATURE_FIELD_NUMBER = 11;
          private int engineCoolantTemperature_;
          /**
           * <code>optional int32 engineCoolantTemperature = 11;</code>
           */
          public boolean hasEngineCoolantTemperature() {
            return ((bitField0_ & 0x00000400) == 0x00000400);
          }
          /**
           * <code>optional int32 engineCoolantTemperature = 11;</code>
           */
          public int getEngineCoolantTemperature() {
            return engineCoolantTemperature_;
          }

          public static final int ISDAYLIGHTMODE_FIELD_NUMBER = 12;
          private boolean isDayLightMode_;
          /**
           * <code>optional bool isDayLightMode = 12;</code>
           */
          public boolean hasIsDayLightMode() {
            return ((bitField0_ & 0x00000800) == 0x00000800);
          }
          /**
           * <code>optional bool isDayLightMode = 12;</code>
           */
          public boolean getIsDayLightMode() {
            return isDayLightMode_;
          }

          public static final int ISEMODESATUS_FIELD_NUMBER = 13;
          private com.google.protobuf.ByteString isEModeSatus_;
          /**
           * <code>optional bytes isEModeSatus = 13;</code>
           */
          public boolean hasIsEModeSatus() {
            return ((bitField0_ & 0x00001000) == 0x00001000);
          }
          /**
           * <code>optional bytes isEModeSatus = 13;</code>
           */
          public com.google.protobuf.ByteString getIsEModeSatus() {
            return isEModeSatus_;
          }

          public static final int DRIVERDOORSATUS_FIELD_NUMBER = 14;
          private com.google.protobuf.ByteString driverDoorSatus_;
          /**
           * <code>optional bytes driverDoorSatus = 14;</code>
           */
          public boolean hasDriverDoorSatus() {
            return ((bitField0_ & 0x00002000) == 0x00002000);
          }
          /**
           * <code>optional bytes driverDoorSatus = 14;</code>
           */
          public com.google.protobuf.ByteString getDriverDoorSatus() {
            return driverDoorSatus_;
          }

          public static final int CMDIGNITIONSTATUS_FIELD_NUMBER = 15;
          private com.google.protobuf.ByteString cmdIgnitionStatus_;
          /**
           * <code>optional bytes CmdIgnitionStatus = 15;</code>
           */
          public boolean hasCmdIgnitionStatus() {
            return ((bitField0_ & 0x00004000) == 0x00004000);
          }
          /**
           * <code>optional bytes CmdIgnitionStatus = 15;</code>
           */
          public com.google.protobuf.ByteString getCmdIgnitionStatus() {
            return cmdIgnitionStatus_;
          }

          public static final int FRONTLEFTHEATEDSEATSTATUS_FIELD_NUMBER = 16;
          private com.google.protobuf.ByteString frontLeftHeatedSeatStatus_;
          /**
           * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
           */
          public boolean hasFrontLeftHeatedSeatStatus() {
            return ((bitField0_ & 0x00008000) == 0x00008000);
          }
          /**
           * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
           */
          public com.google.protobuf.ByteString getFrontLeftHeatedSeatStatus() {
            return frontLeftHeatedSeatStatus_;
          }

          public static final int AUTODFGSTATUS_FIELD_NUMBER = 17;
          private com.google.protobuf.ByteString autoDfgStatus_;
          /**
           * <code>optional bytes autoDfgStatus = 17;</code>
           */
          public boolean hasAutoDfgStatus() {
            return ((bitField0_ & 0x00010000) == 0x00010000);
          }
          /**
           * <code>optional bytes autoDfgStatus = 17;</code>
           */
          public com.google.protobuf.ByteString getAutoDfgStatus() {
            return autoDfgStatus_;
          }

          public static final int FT_FOG_RQ_FIELD_NUMBER = 18;
          private com.google.protobuf.ByteString fTFOGRQ_;
          /**
           * <code>optional bytes FT_FOG_RQ = 18;</code>
           */
          public boolean hasFTFOGRQ() {
            return ((bitField0_ & 0x00020000) == 0x00020000);
          }
          /**
           * <code>optional bytes FT_FOG_RQ = 18;</code>
           */
          public com.google.protobuf.ByteString getFTFOGRQ() {
            return fTFOGRQ_;
          }

          public static final int ISACCLUTCHENGAGED_FIELD_NUMBER = 19;
          private boolean isACClutchEngaged_;
          /**
           * <code>optional bool isACClutchEngaged = 19;</code>
           */
          public boolean hasIsACClutchEngaged() {
            return ((bitField0_ & 0x00040000) == 0x00040000);
          }
          /**
           * <code>optional bool isACClutchEngaged = 19;</code>
           */
          public boolean getIsACClutchEngaged() {
            return isACClutchEngaged_;
          }

          public static final int VEHPERFACCELX_FIELD_NUMBER = 20;
          private float vehPerfAccelX_;
          /**
           * <code>optional float vehPerfAccelX = 20;</code>
           */
          public boolean hasVehPerfAccelX() {
            return ((bitField0_ & 0x00080000) == 0x00080000);
          }
          /**
           * <code>optional float vehPerfAccelX = 20;</code>
           */
          public float getVehPerfAccelX() {
            return vehPerfAccelX_;
          }

          public static final int VEHPERFACCELY_FIELD_NUMBER = 21;
          private float vehPerfAccelY_;
          /**
           * <code>optional float VehPerfAccelY = 21;</code>
           */
          public boolean hasVehPerfAccelY() {
            return ((bitField0_ & 0x00100000) == 0x00100000);
          }
          /**
           * <code>optional float VehPerfAccelY = 21;</code>
           */
          public float getVehPerfAccelY() {
            return vehPerfAccelY_;
          }

          public static final int FRONTRIGHTHEATEDSEATSTATUS_FIELD_NUMBER = 22;
          private com.google.protobuf.ByteString frontRightHeatedSeatStatus_;
          /**
           * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
           */
          public boolean hasFrontRightHeatedSeatStatus() {
            return ((bitField0_ & 0x00200000) == 0x00200000);
          }
          /**
           * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
           */
          public com.google.protobuf.ByteString getFrontRightHeatedSeatStatus() {
            return frontRightHeatedSeatStatus_;
          }

          public static final int SPSTSWSTAT_FIELD_NUMBER = 23;
          private com.google.protobuf.ByteString spStSwStat_;
          /**
           * <code>optional bytes spStSwStat = 23;</code>
           */
          public boolean hasSpStSwStat() {
            return ((bitField0_ & 0x00400000) == 0x00400000);
          }
          /**
           * <code>optional bytes spStSwStat = 23;</code>
           */
          public com.google.protobuf.ByteString getSpStSwStat() {
            return spStSwStat_;
          }

          public static final int ESSENGINESTATUS_FIELD_NUMBER = 24;
          private com.google.protobuf.ByteString essEngineStatus_;
          /**
           * <code>optional bytes essEngineStatus = 24;</code>
           */
          public boolean hasEssEngineStatus() {
            return ((bitField0_ & 0x00800000) == 0x00800000);
          }
          /**
           * <code>optional bytes essEngineStatus = 24;</code>
           */
          public com.google.protobuf.ByteString getEssEngineStatus() {
            return essEngineStatus_;
          }

          public static final int AMBIENTTEMPERATUREAVG_FIELD_NUMBER = 25;
          private int ambientTemperatureAvg_;
          /**
           * <pre>
           *&#47; Temperature in F.
           * </pre>
           *
           * <code>optional int32 ambientTemperatureAvg = 25;</code>
           */
          public boolean hasAmbientTemperatureAvg() {
            return ((bitField0_ & 0x01000000) == 0x01000000);
          }
          /**
           * <pre>
           *&#47; Temperature in F.
           * </pre>
           *
           * <code>optional int32 ambientTemperatureAvg = 25;</code>
           */
          public int getAmbientTemperatureAvg() {
            return ambientTemperatureAvg_;
          }

          public static final int TIREPRESSURE_FIELD_NUMBER = 26;
          private com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure tirePressure_;
          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          public boolean hasTirePressure() {
            return ((bitField0_ & 0x02000000) == 0x02000000);
          }
          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure() {
            return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
          }
          /**
           * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder() {
            return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
          }

          public static final int MZRMODEACT_FIELD_NUMBER = 27;
          private com.google.protobuf.ByteString mzrModeAct_;
          /**
           * <code>optional bytes mzrModeAct = 27;</code>
           */
          public boolean hasMzrModeAct() {
            return ((bitField0_ & 0x04000000) == 0x04000000);
          }
          /**
           * <code>optional bytes mzrModeAct = 27;</code>
           */
          public com.google.protobuf.ByteString getMzrModeAct() {
            return mzrModeAct_;
          }

          public static final int DPFDEFWARNINGSTATUS_FIELD_NUMBER = 28;
          private com.google.protobuf.ByteString dpfDefWarningStatus_;
          /**
           * <code>optional bytes dpfDefWarningStatus = 28;</code>
           */
          public boolean hasDpfDefWarningStatus() {
            return ((bitField0_ & 0x08000000) == 0x08000000);
          }
          /**
           * <code>optional bytes dpfDefWarningStatus = 28;</code>
           */
          public com.google.protobuf.ByteString getDpfDefWarningStatus() {
            return dpfDefWarningStatus_;
          }

          public static final int ABSLAMPSTATUS_FIELD_NUMBER = 29;
          private int absLampStatus_;
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
           */
          public boolean hasAbsLampStatus() {
            return ((bitField0_ & 0x10000000) == 0x10000000);
          }
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampStatus() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(absLampStatus_);
            return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
          }

          public static final int BRKINDLMPONRQESC_FIELD_NUMBER = 30;
          private com.google.protobuf.ByteString brkIndLmpOnRqESC_;
          /**
           * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
           */
          public boolean hasBrkIndLmpOnRqESC() {
            return ((bitField0_ & 0x20000000) == 0x20000000);
          }
          /**
           * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
           */
          public com.google.protobuf.ByteString getBrkIndLmpOnRqESC() {
            return brkIndLmpOnRqESC_;
          }

          public static final int ISCHECKFUELCAP_FIELD_NUMBER = 31;
          private boolean isCheckFuelCap_;
          /**
           * <code>optional bool isCheckFuelCap = 31;</code>
           */
          public boolean hasIsCheckFuelCap() {
            return ((bitField0_ & 0x40000000) == 0x40000000);
          }
          /**
           * <code>optional bool isCheckFuelCap = 31;</code>
           */
          public boolean getIsCheckFuelCap() {
            return isCheckFuelCap_;
          }

          public static final int ETCLMPINDSTS_FIELD_NUMBER = 32;
          private int etcLmpIndSts_;
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
           */
          public boolean hasEtcLmpIndSts() {
            return ((bitField0_ & 0x80000000) == 0x80000000);
          }
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(etcLmpIndSts_);
            return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
          }

          public static final int OILPRESSURE_FIELD_NUMBER = 33;
          private int oilPressure_;
          /**
           * <code>optional int32 oilPressure = 33;</code>
           */
          public boolean hasOilPressure() {
            return ((bitField1_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional int32 oilPressure = 33;</code>
           */
          public int getOilPressure() {
            return oilPressure_;
          }

          public static final int TXTEMPEXCESS_FIELD_NUMBER = 34;
          private com.google.protobuf.ByteString txTempExcess_;
          /**
           * <code>optional bytes txTempExcess = 34;</code>
           */
          public boolean hasTxTempExcess() {
            return ((bitField1_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional bytes txTempExcess = 34;</code>
           */
          public com.google.protobuf.ByteString getTxTempExcess() {
            return txTempExcess_;
          }

          public static final int SRSINDLMPSTS_FIELD_NUMBER = 35;
          private int srsIndLmpSts_;
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
           */
          public boolean hasSrsIndLmpSts() {
            return ((bitField1_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsIndLmpSts_);
            return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
          }

          public static final int ISBRAKEFLUIDLOW_FIELD_NUMBER = 36;
          private boolean isBrakeFluidLow_;
          /**
           * <code>optional bool isBrakeFluidLow = 36;</code>
           */
          public boolean hasIsBrakeFluidLow() {
            return ((bitField1_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional bool isBrakeFluidLow = 36;</code>
           */
          public boolean getIsBrakeFluidLow() {
            return isBrakeFluidLow_;
          }

          public static final int ISENGINEOILLAMPON_FIELD_NUMBER = 37;
          private boolean isEngineOilLampOn_;
          /**
           * <code>optional bool isEngineOilLampOn = 37;</code>
           */
          public boolean hasIsEngineOilLampOn() {
            return ((bitField1_ & 0x00000010) == 0x00000010);
          }
          /**
           * <code>optional bool isEngineOilLampOn = 37;</code>
           */
          public boolean getIsEngineOilLampOn() {
            return isEngineOilLampOn_;
          }

          public static final int OILTEMPINDICATORRQ_FIELD_NUMBER = 38;
          private int oilTempIndicatorRq_;
          /**
           * <code>optional int32 oilTempIndicatorRq = 38;</code>
           */
          public boolean hasOilTempIndicatorRq() {
            return ((bitField1_ & 0x00000020) == 0x00000020);
          }
          /**
           * <code>optional int32 oilTempIndicatorRq = 38;</code>
           */
          public int getOilTempIndicatorRq() {
            return oilTempIndicatorRq_;
          }

          public static final int ENGINETRQRQESC_FIELD_NUMBER = 40;
          private int engineTrqRqEsc_;
          /**
           * <code>optional int32 engineTrqRqEsc = 40;</code>
           */
          public boolean hasEngineTrqRqEsc() {
            return ((bitField1_ & 0x00000040) == 0x00000040);
          }
          /**
           * <code>optional int32 engineTrqRqEsc = 40;</code>
           */
          public int getEngineTrqRqEsc() {
            return engineTrqRqEsc_;
          }

          public static final int ENGINELOAD_FIELD_NUMBER = 41;
          private int engineLoad_;
          /**
           * <code>optional int32 engineLoad = 41;</code>
           */
          public boolean hasEngineLoad() {
            return ((bitField1_ & 0x00000080) == 0x00000080);
          }
          /**
           * <code>optional int32 engineLoad = 41;</code>
           */
          public int getEngineLoad() {
            return engineLoad_;
          }

          public static final int IBS_T_BATT_FIELD_NUMBER = 42;
          private int iBSTBATT_;
          /**
           * <pre>
           *&#47; Range -40 to 105,  255 = SNA
           * </pre>
           *
           * <code>optional sint32 IBS_T_BATT = 42;</code>
           */
          public boolean hasIBSTBATT() {
            return ((bitField1_ & 0x00000100) == 0x00000100);
          }
          /**
           * <pre>
           *&#47; Range -40 to 105,  255 = SNA
           * </pre>
           *
           * <code>optional sint32 IBS_T_BATT = 42;</code>
           */
          public int getIBSTBATT() {
            return iBSTBATT_;
          }

          public static final int IBS_V_BATT_FIELD_NUMBER = 43;
          private float iBSVBATT_;
          /**
           * <pre>
           *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
           * </pre>
           *
           * <code>optional float IBS_V_BATT = 43;</code>
           */
          public boolean hasIBSVBATT() {
            return ((bitField1_ & 0x00000200) == 0x00000200);
          }
          /**
           * <pre>
           *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
           * </pre>
           *
           * <code>optional float IBS_V_BATT = 43;</code>
           */
          public float getIBSVBATT() {
            return iBSVBATT_;
          }

          public static final int IBS_SOC_FIELD_NUMBER = 44;
          private float iBSSOC_;
          /**
           * <code>optional float IBS_SOC = 44;</code>
           */
          public boolean hasIBSSOC() {
            return ((bitField1_ & 0x00000400) == 0x00000400);
          }
          /**
           * <code>optional float IBS_SOC = 44;</code>
           */
          public float getIBSSOC() {
            return iBSSOC_;
          }

          public static final int BATTERYSTCRIT_FIELD_NUMBER = 45;
          private com.google.protobuf.ByteString batterySTCrit_;
          /**
           * <code>optional bytes batterySTCrit = 45;</code>
           */
          public boolean hasBatterySTCrit() {
            return ((bitField1_ & 0x00000800) == 0x00000800);
          }
          /**
           * <code>optional bytes batterySTCrit = 45;</code>
           */
          public com.google.protobuf.ByteString getBatterySTCrit() {
            return batterySTCrit_;
          }

          public static final int BOOSTPRESSUREINDICATION_FIELD_NUMBER = 46;
          private int boostPressureIndication_;
          /**
           * <code>optional int32 BoostPressureIndication = 46;</code>
           */
          public boolean hasBoostPressureIndication() {
            return ((bitField1_ & 0x00001000) == 0x00001000);
          }
          /**
           * <code>optional int32 BoostPressureIndication = 46;</code>
           */
          public int getBoostPressureIndication() {
            return boostPressureIndication_;
          }

          public static final int RAINSENSORLEVEL_FIELD_NUMBER = 47;
          private int rainSensorLevel_;
          /**
           * <code>optional int32 rainSensorLevel = 47;</code>
           */
          public boolean hasRainSensorLevel() {
            return ((bitField1_ & 0x00002000) == 0x00002000);
          }
          /**
           * <code>optional int32 rainSensorLevel = 47;</code>
           */
          public int getRainSensorLevel() {
            return rainSensorLevel_;
          }

          public static final int ACTLACCELERATORPEDALPOSITION_FIELD_NUMBER = 48;
          private int actlAcceleratorPedalPosition_;
          /**
           * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
           */
          public boolean hasActlAcceleratorPedalPosition() {
            return ((bitField1_ & 0x00004000) == 0x00004000);
          }
          /**
           * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
           */
          public int getActlAcceleratorPedalPosition() {
            return actlAcceleratorPedalPosition_;
          }

          public static final int ACCELERATORPEDALPOSITION_FIELD_NUMBER = 49;
          private int acceleratorPedalPosition_;
          /**
           * <code>optional int32 acceleratorPedalPosition = 49;</code>
           */
          public boolean hasAcceleratorPedalPosition() {
            return ((bitField1_ & 0x00008000) == 0x00008000);
          }
          /**
           * <code>optional int32 acceleratorPedalPosition = 49;</code>
           */
          public int getAcceleratorPedalPosition() {
            return acceleratorPedalPosition_;
          }

          public static final int IBS_I_BATT_FIELD_NUMBER = 50;
          private int iBSIBATT_;
          /**
           * <pre>
           *&#47; Range -32768 to 32766,  65535 = SNA 
           * </pre>
           *
           * <code>optional sint32 IBS_I_BATT = 50;</code>
           */
          public boolean hasIBSIBATT() {
            return ((bitField1_ & 0x00010000) == 0x00010000);
          }
          /**
           * <pre>
           *&#47; Range -32768 to 32766,  65535 = SNA 
           * </pre>
           *
           * <code>optional sint32 IBS_I_BATT = 50;</code>
           */
          public int getIBSIBATT() {
            return iBSIBATT_;
          }

          public static final int FUELCONS_FIELD_NUMBER = 51;
          private int fuelCons_;
          /**
           * <code>optional int32 fuelCons = 51;</code>
           */
          public boolean hasFuelCons() {
            return ((bitField1_ & 0x00020000) == 0x00020000);
          }
          /**
           * <code>optional int32 fuelCons = 51;</code>
           */
          public int getFuelCons() {
            return fuelCons_;
          }

          public static final int ENGINETORQUESTATIC_FIELD_NUMBER = 52;
          private int engineTorqueStatic_;
          /**
           * <code>optional int32 engineTorqueStatic = 52;</code>
           */
          public boolean hasEngineTorqueStatic() {
            return ((bitField1_ & 0x00040000) == 0x00040000);
          }
          /**
           * <code>optional int32 engineTorqueStatic = 52;</code>
           */
          public int getEngineTorqueStatic() {
            return engineTorqueStatic_;
          }

          public static final int BRAKESTATUS_FIELD_NUMBER = 53;
          private com.google.protobuf.ByteString brakeStatus_;
          /**
           * <code>optional bytes brakeStatus = 53;</code>
           */
          public boolean hasBrakeStatus() {
            return ((bitField1_ & 0x00080000) == 0x00080000);
          }
          /**
           * <code>optional bytes brakeStatus = 53;</code>
           */
          public com.google.protobuf.ByteString getBrakeStatus() {
            return brakeStatus_;
          }

          public static final int ABSBRAKEEVENT_FIELD_NUMBER = 54;
          private com.google.protobuf.ByteString absBrakeEvent_;
          /**
           * <code>optional bytes absBrakeEvent = 54;</code>
           */
          public boolean hasAbsBrakeEvent() {
            return ((bitField1_ & 0x00100000) == 0x00100000);
          }
          /**
           * <code>optional bytes absBrakeEvent = 54;</code>
           */
          public com.google.protobuf.ByteString getAbsBrakeEvent() {
            return absBrakeEvent_;
          }

          public static final int SPSTDISPSTAT_FIELD_NUMBER = 55;
          private com.google.protobuf.ByteString spStDispstat_;
          /**
           * <code>optional bytes spStDispstat = 55;</code>
           */
          public boolean hasSpStDispstat() {
            return ((bitField1_ & 0x00200000) == 0x00200000);
          }
          /**
           * <code>optional bytes spStDispstat = 55;</code>
           */
          public com.google.protobuf.ByteString getSpStDispstat() {
            return spStDispstat_;
          }

          public static final int VC_AS_ERS_FIELD_NUMBER = 56;
          private int vCASERS_;
          /**
           * <code>optional int32 VC_AS_ERS = 56;</code>
           */
          public boolean hasVCASERS() {
            return ((bitField1_ & 0x00400000) == 0x00400000);
          }
          /**
           * <code>optional int32 VC_AS_ERS = 56;</code>
           */
          public int getVCASERS() {
            return vCASERS_;
          }

          public static final int DRVRQSHFTROT_FIELD_NUMBER = 57;
          private int drvRqShftROT_;
          /**
           * <code>optional int32 DrvRqShftROT = 57;</code>
           */
          public boolean hasDrvRqShftROT() {
            return ((bitField1_ & 0x00800000) == 0x00800000);
          }
          /**
           * <code>optional int32 DrvRqShftROT = 57;</code>
           */
          public int getDrvRqShftROT() {
            return drvRqShftROT_;
          }

          public static final int EPBHOLDSTS_FIELD_NUMBER = 58;
          private com.google.protobuf.ByteString ePBHoldSts_;
          /**
           * <code>optional bytes EPBHoldSts = 58;</code>
           */
          public boolean hasEPBHoldSts() {
            return ((bitField1_ & 0x01000000) == 0x01000000);
          }
          /**
           * <code>optional bytes EPBHoldSts = 58;</code>
           */
          public com.google.protobuf.ByteString getEPBHoldSts() {
            return ePBHoldSts_;
          }

          public static final int PAD_SHFT_FIELD_NUMBER = 59;
          private int padShft_;
          /**
           * <code>optional int32 Pad_Shft = 59;</code>
           */
          public boolean hasPadShft() {
            return ((bitField1_ & 0x02000000) == 0x02000000);
          }
          /**
           * <code>optional int32 Pad_Shft = 59;</code>
           */
          public int getPadShft() {
            return padShft_;
          }

          public static final int TCASEAWD_DRVMDRQ_FIELD_NUMBER = 60;
          private int tCaseAWDDrvMdRq_;
          /**
           * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
           */
          public boolean hasTCaseAWDDrvMdRq() {
            return ((bitField1_ & 0x04000000) == 0x04000000);
          }
          /**
           * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
           */
          public int getTCaseAWDDrvMdRq() {
            return tCaseAWDDrvMdRq_;
          }

          public static final int TRNS_SPD_MC_FIELD_NUMBER = 61;
          private int tRNSSPDMC_;
          /**
           * <code>optional int32 TRNS_SPD_MC = 61;</code>
           */
          public boolean hasTRNSSPDMC() {
            return ((bitField1_ & 0x08000000) == 0x08000000);
          }
          /**
           * <code>optional int32 TRNS_SPD_MC = 61;</code>
           */
          public int getTRNSSPDMC() {
            return tRNSSPDMC_;
          }

          public static final int TRNS_EMCC_ACHVD_FIELD_NUMBER = 62;
          private int trnsEMCCAchvd_;
          /**
           * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
           */
          public boolean hasTrnsEMCCAchvd() {
            return ((bitField1_ & 0x10000000) == 0x10000000);
          }
          /**
           * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
           */
          public int getTrnsEMCCAchvd() {
            return trnsEMCCAchvd_;
          }

          public static final int OUTPUTSPDPOLARITY_FIELD_NUMBER = 63;
          private com.google.protobuf.ByteString outputSpdPolarity_;
          /**
           * <code>optional bytes outputSpdPolarity = 63;</code>
           */
          public boolean hasOutputSpdPolarity() {
            return ((bitField1_ & 0x20000000) == 0x20000000);
          }
          /**
           * <code>optional bytes outputSpdPolarity = 63;</code>
           */
          public com.google.protobuf.ByteString getOutputSpdPolarity() {
            return outputSpdPolarity_;
          }

          public static final int OUTPUTSPEED_FIELD_NUMBER = 64;
          private int outputSpeed_;
          /**
           * <code>optional int32 outputSpeed = 64;</code>
           */
          public boolean hasOutputSpeed() {
            return ((bitField1_ & 0x40000000) == 0x40000000);
          }
          /**
           * <code>optional int32 outputSpeed = 64;</code>
           */
          public int getOutputSpeed() {
            return outputSpeed_;
          }

          public static final int NTURB_FIELD_NUMBER = 65;
          private int nTurb_;
          /**
           * <code>optional int32 nTurb = 65;</code>
           */
          public boolean hasNTurb() {
            return ((bitField1_ & 0x80000000) == 0x80000000);
          }
          /**
           * <code>optional int32 nTurb = 65;</code>
           */
          public int getNTurb() {
            return nTurb_;
          }

          public static final int KS_FIELD_NUMBER = 66;
          private int kS_;
          /**
           * <code>optional int32 KS = 66;</code>
           */
          public boolean hasKS() {
            return ((bitField2_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional int32 KS = 66;</code>
           */
          public int getKS() {
            return kS_;
          }

          public static final int K_STO_B_FIELD_NUMBER = 67;
          private int kSTOB_;
          /**
           * <code>optional int32 K_STO_B = 67;</code>
           */
          public boolean hasKSTOB() {
            return ((bitField2_ & 0x00000002) == 0x00000002);
          }
          /**
           * <code>optional int32 K_STO_B = 67;</code>
           */
          public int getKSTOB() {
            return kSTOB_;
          }

          public static final int K_S_B_FIELD_NUMBER = 68;
          private int kSB_;
          /**
           * <code>optional int32 K_S_B = 68;</code>
           */
          public boolean hasKSB() {
            return ((bitField2_ & 0x00000004) == 0x00000004);
          }
          /**
           * <code>optional int32 K_S_B = 68;</code>
           */
          public int getKSB() {
            return kSB_;
          }

          public static final int K_O_B_FIELD_NUMBER = 69;
          private int kOB_;
          /**
           * <code>optional int32 K_O_B = 69;</code>
           */
          public boolean hasKOB() {
            return ((bitField2_ & 0x00000008) == 0x00000008);
          }
          /**
           * <code>optional int32 K_O_B = 69;</code>
           */
          public int getKOB() {
            return kOB_;
          }

          public static final int K_G_B_FIELD_NUMBER = 70;
          private int kGB_;
          /**
           * <code>optional int32 K_G_B = 70;</code>
           */
          public boolean hasKGB() {
            return ((bitField2_ & 0x00000010) == 0x00000010);
          }
          /**
           * <code>optional int32 K_G_B = 70;</code>
           */
          public int getKGB() {
            return kGB_;
          }

          public static final int GRTARGET_FIELD_NUMBER = 71;
          private int grTarget_;
          /**
           * <code>optional int32 grTarget = 71;</code>
           */
          public boolean hasGrTarget() {
            return ((bitField2_ & 0x00000020) == 0x00000020);
          }
          /**
           * <code>optional int32 grTarget = 71;</code>
           */
          public int getGrTarget() {
            return grTarget_;
          }

          public static final int GEARSWITCHACTIVESTATUS_FIELD_NUMBER = 72;
          private com.google.protobuf.ByteString gearSwitchActiveStatus_;
          /**
           * <code>optional bytes gearSwitchActiveStatus = 72;</code>
           */
          public boolean hasGearSwitchActiveStatus() {
            return ((bitField2_ & 0x00000040) == 0x00000040);
          }
          /**
           * <code>optional bytes gearSwitchActiveStatus = 72;</code>
           */
          public com.google.protobuf.ByteString getGearSwitchActiveStatus() {
            return gearSwitchActiveStatus_;
          }

          public static final int ENGST_ENBL_RQ_TCM_FIELD_NUMBER = 73;
          private com.google.protobuf.ByteString engStEnblRqTCM_;
          /**
           * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
           */
          public boolean hasEngStEnblRqTCM() {
            return ((bitField2_ & 0x00000080) == 0x00000080);
          }
          /**
           * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
           */
          public com.google.protobuf.ByteString getEngStEnblRqTCM() {
            return engStEnblRqTCM_;
          }

          public static final int TX_TEMP_FIELD_NUMBER = 74;
          private int tXTEMP_;
          /**
           * <code>optional int32 TX_TEMP = 74;</code>
           */
          public boolean hasTXTEMP() {
            return ((bitField2_ & 0x00000100) == 0x00000100);
          }
          /**
           * <code>optional int32 TX_TEMP = 74;</code>
           */
          public int getTXTEMP() {
            return tXTEMP_;
          }

          public static final int BRKPRSS_TMC_FIELD_NUMBER = 75;
          private int brkPrssTMC_;
          /**
           * <code>optional int32 BrkPrss_TMC = 75;</code>
           */
          public boolean hasBrkPrssTMC() {
            return ((bitField2_ & 0x00000200) == 0x00000200);
          }
          /**
           * <code>optional int32 BrkPrss_TMC = 75;</code>
           */
          public int getBrkPrssTMC() {
            return brkPrssTMC_;
          }

          public static final int PRPLSNSYSATV_FIELD_NUMBER = 76;
          private int prplsnSysAtv_;
          /**
           * <code>optional int32 PrplsnSysAtv = 76;</code>
           */
          public boolean hasPrplsnSysAtv() {
            return ((bitField2_ & 0x00000400) == 0x00000400);
          }
          /**
           * <code>optional int32 PrplsnSysAtv = 76;</code>
           */
          public int getPrplsnSysAtv() {
            return prplsnSysAtv_;
          }

          public static final int DRIVEREADY_FIELD_NUMBER = 77;
          private com.google.protobuf.ByteString driveReady_;
          /**
           * <code>optional bytes DriveReady = 77;</code>
           */
          public boolean hasDriveReady() {
            return ((bitField2_ & 0x00000800) == 0x00000800);
          }
          /**
           * <code>optional bytes DriveReady = 77;</code>
           */
          public com.google.protobuf.ByteString getDriveReady() {
            return driveReady_;
          }

          public static final int PRND_STAT_FIELD_NUMBER = 78;
          private com.google.protobuf.ByteString pRNDSTAT_;
          /**
           * <code>optional bytes PRND_STAT = 78;</code>
           */
          public boolean hasPRNDSTAT() {
            return ((bitField2_ & 0x00001000) == 0x00001000);
          }
          /**
           * <code>optional bytes PRND_STAT = 78;</code>
           */
          public com.google.protobuf.ByteString getPRNDSTAT() {
            return pRNDSTAT_;
          }

          public static final int HVBATCNTCTRSTAT_FIELD_NUMBER = 79;
          private com.google.protobuf.ByteString hVBatCntctrStat_;
          /**
           * <code>optional bytes HVBatCntctrStat = 79;</code>
           */
          public boolean hasHVBatCntctrStat() {
            return ((bitField2_ & 0x00002000) == 0x00002000);
          }
          /**
           * <code>optional bytes HVBatCntctrStat = 79;</code>
           */
          public com.google.protobuf.ByteString getHVBatCntctrStat() {
            return hVBatCntctrStat_;
          }

          public static final int CHARGINGSYSTEMSTATUS_FIELD_NUMBER = 80;
          private com.google.protobuf.ByteString chargingSystemStatus_;
          /**
           * <code>optional bytes chargingSystemStatus = 80;</code>
           */
          public boolean hasChargingSystemStatus() {
            return ((bitField2_ & 0x00004000) == 0x00004000);
          }
          /**
           * <code>optional bytes chargingSystemStatus = 80;</code>
           */
          public com.google.protobuf.ByteString getChargingSystemStatus() {
            return chargingSystemStatus_;
          }

          public static final int CHARGINGLEVEL_FIELD_NUMBER = 81;
          private int chargingLevel_;
          /**
           * <code>optional int32 chargingLevel = 81;</code>
           */
          public boolean hasChargingLevel() {
            return ((bitField2_ & 0x00008000) == 0x00008000);
          }
          /**
           * <code>optional int32 chargingLevel = 81;</code>
           */
          public int getChargingLevel() {
            return chargingLevel_;
          }

          public static final int HVBATSOC_HCP_FIELD_NUMBER = 82;
          private int hVBatSOCHCP_;
          /**
           * <code>optional int32 HVBatSOC_HCP = 82;</code>
           */
          public boolean hasHVBatSOCHCP() {
            return ((bitField2_ & 0x00010000) == 0x00010000);
          }
          /**
           * <code>optional int32 HVBatSOC_HCP = 82;</code>
           */
          public int getHVBatSOCHCP() {
            return hVBatSOCHCP_;
          }

          public static final int WHEELRPMREARRIGHT_FIELD_NUMBER = 83;
          private int wheelRPMRearRight_;
          /**
           * <code>optional int32 wheelRPMRearRight = 83;</code>
           */
          public boolean hasWheelRPMRearRight() {
            return ((bitField2_ & 0x00020000) == 0x00020000);
          }
          /**
           * <code>optional int32 wheelRPMRearRight = 83;</code>
           */
          public int getWheelRPMRearRight() {
            return wheelRPMRearRight_;
          }

          public static final int WHEELRPMREARLEFT_FIELD_NUMBER = 84;
          private int wheelRPMRearLeft_;
          /**
           * <code>optional int32 wheelRPMRearLeft = 84;</code>
           */
          public boolean hasWheelRPMRearLeft() {
            return ((bitField2_ & 0x00040000) == 0x00040000);
          }
          /**
           * <code>optional int32 wheelRPMRearLeft = 84;</code>
           */
          public int getWheelRPMRearLeft() {
            return wheelRPMRearLeft_;
          }

          public static final int WHEELRPMFRONTRIGHT_FIELD_NUMBER = 85;
          private int wheelRPMFrontRight_;
          /**
           * <code>optional int32 wheelRPMFrontRight = 85;</code>
           */
          public boolean hasWheelRPMFrontRight() {
            return ((bitField2_ & 0x00080000) == 0x00080000);
          }
          /**
           * <code>optional int32 wheelRPMFrontRight = 85;</code>
           */
          public int getWheelRPMFrontRight() {
            return wheelRPMFrontRight_;
          }

          public static final int WHEELRPMFRONTLEFT_FIELD_NUMBER = 86;
          private int wheelRPMFrontLeft_;
          /**
           * <code>optional int32 wheelRPMFrontLeft = 86;</code>
           */
          public boolean hasWheelRPMFrontLeft() {
            return ((bitField2_ & 0x00100000) == 0x00100000);
          }
          /**
           * <code>optional int32 wheelRPMFrontLeft = 86;</code>
           */
          public int getWheelRPMFrontLeft() {
            return wheelRPMFrontLeft_;
          }

          public static final int TCASE_STAT_FIELD_NUMBER = 87;
          private com.google.protobuf.ByteString tCASESTAT_;
          /**
           * <code>optional bytes TCASE_STAT = 87;</code>
           */
          public boolean hasTCASESTAT() {
            return ((bitField2_ & 0x00200000) == 0x00200000);
          }
          /**
           * <code>optional bytes TCASE_STAT = 87;</code>
           */
          public com.google.protobuf.ByteString getTCASESTAT() {
            return tCASESTAT_;
          }

          public static final int SHFT_PROG_FIELD_NUMBER = 89;
          private com.google.protobuf.ByteString sHFTPROG_;
          /**
           * <code>optional bytes SHFT_PROG = 89;</code>
           */
          public boolean hasSHFTPROG() {
            return ((bitField2_ & 0x00400000) == 0x00400000);
          }
          /**
           * <code>optional bytes SHFT_PROG = 89;</code>
           */
          public com.google.protobuf.ByteString getSHFTPROG() {
            return sHFTPROG_;
          }

          public static final int CC_SETSPDDSPLMPH_FIELD_NUMBER = 90;
          private int cCSetSpdDsplMPH_;
          /**
           * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
           */
          public boolean hasCCSetSpdDsplMPH() {
            return ((bitField2_ & 0x00800000) == 0x00800000);
          }
          /**
           * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
           */
          public int getCCSetSpdDsplMPH() {
            return cCSetSpdDsplMPH_;
          }

          public static final int ACCONOFF_FIELD_NUMBER = 91;
          private com.google.protobuf.ByteString aCCOnOff_;
          /**
           * <code>optional bytes ACCOnOff = 91;</code>
           */
          public boolean hasACCOnOff() {
            return ((bitField2_ & 0x01000000) == 0x01000000);
          }
          /**
           * <code>optional bytes ACCOnOff = 91;</code>
           */
          public com.google.protobuf.ByteString getACCOnOff() {
            return aCCOnOff_;
          }

          public static final int CRUISE_EGD_FIELD_NUMBER = 92;
          private int cRUISEEGD_;
          /**
           * <code>optional int32 CRUISE_EGD = 92;</code>
           */
          public boolean hasCRUISEEGD() {
            return ((bitField2_ & 0x02000000) == 0x02000000);
          }
          /**
           * <code>optional int32 CRUISE_EGD = 92;</code>
           */
          public int getCRUISEEGD() {
            return cRUISEEGD_;
          }

          public static final int TRNSTRQREQSLOW_2_FIELD_NUMBER = 93;
          private int trnsTrqReqSlow2_;
          /**
           * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
           */
          public boolean hasTrnsTrqReqSlow2() {
            return ((bitField2_ & 0x04000000) == 0x04000000);
          }
          /**
           * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
           */
          public int getTrnsTrqReqSlow2() {
            return trnsTrqReqSlow2_;
          }

          public static final int CONSUMPTIONUNIT_FIELD_NUMBER = 94;
          private com.google.protobuf.ByteString consumptionUnit_;
          /**
           * <code>optional bytes ConsumptionUnit = 94;</code>
           */
          public boolean hasConsumptionUnit() {
            return ((bitField2_ & 0x08000000) == 0x08000000);
          }
          /**
           * <code>optional bytes ConsumptionUnit = 94;</code>
           */
          public com.google.protobuf.ByteString getConsumptionUnit() {
            return consumptionUnit_;
          }

          public static final int PFW_STAT_FIELD_NUMBER = 95;
          private com.google.protobuf.ByteString pFWStat_;
          /**
           * <code>optional bytes PFW_Stat = 95;</code>
           */
          public boolean hasPFWStat() {
            return ((bitField2_ & 0x10000000) == 0x10000000);
          }
          /**
           * <code>optional bytes PFW_Stat = 95;</code>
           */
          public com.google.protobuf.ByteString getPFWStat() {
            return pFWStat_;
          }

          public static final int MAP_ENG_FIELD_NUMBER = 96;
          private com.google.protobuf.ByteString mapEng_;
          /**
           * <code>optional bytes Map_Eng = 96;</code>
           */
          public boolean hasMapEng() {
            return ((bitField2_ & 0x20000000) == 0x20000000);
          }
          /**
           * <code>optional bytes Map_Eng = 96;</code>
           */
          public com.google.protobuf.ByteString getMapEng() {
            return mapEng_;
          }

          public static final int ADBLUE_FL_LVL_FIELD_NUMBER = 97;
          private int adblueFLLVL_;
          /**
           * <code>optional int32 adblue_FL_LVL = 97;</code>
           */
          public boolean hasAdblueFLLVL() {
            return ((bitField2_ & 0x40000000) == 0x40000000);
          }
          /**
           * <code>optional int32 adblue_FL_LVL = 97;</code>
           */
          public int getAdblueFLLVL() {
            return adblueFLLVL_;
          }

          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1) return true;
            if (isInitialized == 0) return false;

            memoizedIsInitialized = 1;
            return true;
          }

          public void writeTo(com.google.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeFloat(1, batteryVoltage_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeFloat(2, engineRPM_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeFloat(3, vehicleSpeed_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              output.writeInt32(4, ignitionOffTimeLong_);
            }
            if (((bitField0_ & 0x00000010) == 0x00000010)) {
              output.writeInt32(5, instantFuelEconomy_);
            }
            if (((bitField0_ & 0x00000020) == 0x00000020)) {
              output.writeInt32(6, gr_);
            }
            if (((bitField0_ & 0x00000040) == 0x00000040)) {
              output.writeBool(7, isMILOnRq_);
            }
            if (((bitField0_ & 0x00000080) == 0x00000080)) {
              output.writeInt32(8, oDO_);
            }
            if (((bitField0_ & 0x00000100) == 0x00000100)) {
              output.writeInt32(9, avgFuelLvl_);
            }
            if (((bitField0_ & 0x00000200) == 0x00000200)) {
              output.writeInt32(10, engineOilTemperature_);
            }
            if (((bitField0_ & 0x00000400) == 0x00000400)) {
              output.writeInt32(11, engineCoolantTemperature_);
            }
            if (((bitField0_ & 0x00000800) == 0x00000800)) {
              output.writeBool(12, isDayLightMode_);
            }
            if (((bitField0_ & 0x00001000) == 0x00001000)) {
              output.writeBytes(13, isEModeSatus_);
            }
            if (((bitField0_ & 0x00002000) == 0x00002000)) {
              output.writeBytes(14, driverDoorSatus_);
            }
            if (((bitField0_ & 0x00004000) == 0x00004000)) {
              output.writeBytes(15, cmdIgnitionStatus_);
            }
            if (((bitField0_ & 0x00008000) == 0x00008000)) {
              output.writeBytes(16, frontLeftHeatedSeatStatus_);
            }
            if (((bitField0_ & 0x00010000) == 0x00010000)) {
              output.writeBytes(17, autoDfgStatus_);
            }
            if (((bitField0_ & 0x00020000) == 0x00020000)) {
              output.writeBytes(18, fTFOGRQ_);
            }
            if (((bitField0_ & 0x00040000) == 0x00040000)) {
              output.writeBool(19, isACClutchEngaged_);
            }
            if (((bitField0_ & 0x00080000) == 0x00080000)) {
              output.writeFloat(20, vehPerfAccelX_);
            }
            if (((bitField0_ & 0x00100000) == 0x00100000)) {
              output.writeFloat(21, vehPerfAccelY_);
            }
            if (((bitField0_ & 0x00200000) == 0x00200000)) {
              output.writeBytes(22, frontRightHeatedSeatStatus_);
            }
            if (((bitField0_ & 0x00400000) == 0x00400000)) {
              output.writeBytes(23, spStSwStat_);
            }
            if (((bitField0_ & 0x00800000) == 0x00800000)) {
              output.writeBytes(24, essEngineStatus_);
            }
            if (((bitField0_ & 0x01000000) == 0x01000000)) {
              output.writeInt32(25, ambientTemperatureAvg_);
            }
            if (((bitField0_ & 0x02000000) == 0x02000000)) {
              output.writeMessage(26, getTirePressure());
            }
            if (((bitField0_ & 0x04000000) == 0x04000000)) {
              output.writeBytes(27, mzrModeAct_);
            }
            if (((bitField0_ & 0x08000000) == 0x08000000)) {
              output.writeBytes(28, dpfDefWarningStatus_);
            }
            if (((bitField0_ & 0x10000000) == 0x10000000)) {
              output.writeEnum(29, absLampStatus_);
            }
            if (((bitField0_ & 0x20000000) == 0x20000000)) {
              output.writeBytes(30, brkIndLmpOnRqESC_);
            }
            if (((bitField0_ & 0x40000000) == 0x40000000)) {
              output.writeBool(31, isCheckFuelCap_);
            }
            if (((bitField0_ & 0x80000000) == 0x80000000)) {
              output.writeEnum(32, etcLmpIndSts_);
            }
            if (((bitField1_ & 0x00000001) == 0x00000001)) {
              output.writeInt32(33, oilPressure_);
            }
            if (((bitField1_ & 0x00000002) == 0x00000002)) {
              output.writeBytes(34, txTempExcess_);
            }
            if (((bitField1_ & 0x00000004) == 0x00000004)) {
              output.writeEnum(35, srsIndLmpSts_);
            }
            if (((bitField1_ & 0x00000008) == 0x00000008)) {
              output.writeBool(36, isBrakeFluidLow_);
            }
            if (((bitField1_ & 0x00000010) == 0x00000010)) {
              output.writeBool(37, isEngineOilLampOn_);
            }
            if (((bitField1_ & 0x00000020) == 0x00000020)) {
              output.writeInt32(38, oilTempIndicatorRq_);
            }
            if (((bitField1_ & 0x00000040) == 0x00000040)) {
              output.writeInt32(40, engineTrqRqEsc_);
            }
            if (((bitField1_ & 0x00000080) == 0x00000080)) {
              output.writeInt32(41, engineLoad_);
            }
            if (((bitField1_ & 0x00000100) == 0x00000100)) {
              output.writeSInt32(42, iBSTBATT_);
            }
            if (((bitField1_ & 0x00000200) == 0x00000200)) {
              output.writeFloat(43, iBSVBATT_);
            }
            if (((bitField1_ & 0x00000400) == 0x00000400)) {
              output.writeFloat(44, iBSSOC_);
            }
            if (((bitField1_ & 0x00000800) == 0x00000800)) {
              output.writeBytes(45, batterySTCrit_);
            }
            if (((bitField1_ & 0x00001000) == 0x00001000)) {
              output.writeInt32(46, boostPressureIndication_);
            }
            if (((bitField1_ & 0x00002000) == 0x00002000)) {
              output.writeInt32(47, rainSensorLevel_);
            }
            if (((bitField1_ & 0x00004000) == 0x00004000)) {
              output.writeInt32(48, actlAcceleratorPedalPosition_);
            }
            if (((bitField1_ & 0x00008000) == 0x00008000)) {
              output.writeInt32(49, acceleratorPedalPosition_);
            }
            if (((bitField1_ & 0x00010000) == 0x00010000)) {
              output.writeSInt32(50, iBSIBATT_);
            }
            if (((bitField1_ & 0x00020000) == 0x00020000)) {
              output.writeInt32(51, fuelCons_);
            }
            if (((bitField1_ & 0x00040000) == 0x00040000)) {
              output.writeInt32(52, engineTorqueStatic_);
            }
            if (((bitField1_ & 0x00080000) == 0x00080000)) {
              output.writeBytes(53, brakeStatus_);
            }
            if (((bitField1_ & 0x00100000) == 0x00100000)) {
              output.writeBytes(54, absBrakeEvent_);
            }
            if (((bitField1_ & 0x00200000) == 0x00200000)) {
              output.writeBytes(55, spStDispstat_);
            }
            if (((bitField1_ & 0x00400000) == 0x00400000)) {
              output.writeInt32(56, vCASERS_);
            }
            if (((bitField1_ & 0x00800000) == 0x00800000)) {
              output.writeInt32(57, drvRqShftROT_);
            }
            if (((bitField1_ & 0x01000000) == 0x01000000)) {
              output.writeBytes(58, ePBHoldSts_);
            }
            if (((bitField1_ & 0x02000000) == 0x02000000)) {
              output.writeInt32(59, padShft_);
            }
            if (((bitField1_ & 0x04000000) == 0x04000000)) {
              output.writeInt32(60, tCaseAWDDrvMdRq_);
            }
            if (((bitField1_ & 0x08000000) == 0x08000000)) {
              output.writeInt32(61, tRNSSPDMC_);
            }
            if (((bitField1_ & 0x10000000) == 0x10000000)) {
              output.writeInt32(62, trnsEMCCAchvd_);
            }
            if (((bitField1_ & 0x20000000) == 0x20000000)) {
              output.writeBytes(63, outputSpdPolarity_);
            }
            if (((bitField1_ & 0x40000000) == 0x40000000)) {
              output.writeInt32(64, outputSpeed_);
            }
            if (((bitField1_ & 0x80000000) == 0x80000000)) {
              output.writeInt32(65, nTurb_);
            }
            if (((bitField2_ & 0x00000001) == 0x00000001)) {
              output.writeInt32(66, kS_);
            }
            if (((bitField2_ & 0x00000002) == 0x00000002)) {
              output.writeInt32(67, kSTOB_);
            }
            if (((bitField2_ & 0x00000004) == 0x00000004)) {
              output.writeInt32(68, kSB_);
            }
            if (((bitField2_ & 0x00000008) == 0x00000008)) {
              output.writeInt32(69, kOB_);
            }
            if (((bitField2_ & 0x00000010) == 0x00000010)) {
              output.writeInt32(70, kGB_);
            }
            if (((bitField2_ & 0x00000020) == 0x00000020)) {
              output.writeInt32(71, grTarget_);
            }
            if (((bitField2_ & 0x00000040) == 0x00000040)) {
              output.writeBytes(72, gearSwitchActiveStatus_);
            }
            if (((bitField2_ & 0x00000080) == 0x00000080)) {
              output.writeBytes(73, engStEnblRqTCM_);
            }
            if (((bitField2_ & 0x00000100) == 0x00000100)) {
              output.writeInt32(74, tXTEMP_);
            }
            if (((bitField2_ & 0x00000200) == 0x00000200)) {
              output.writeInt32(75, brkPrssTMC_);
            }
            if (((bitField2_ & 0x00000400) == 0x00000400)) {
              output.writeInt32(76, prplsnSysAtv_);
            }
            if (((bitField2_ & 0x00000800) == 0x00000800)) {
              output.writeBytes(77, driveReady_);
            }
            if (((bitField2_ & 0x00001000) == 0x00001000)) {
              output.writeBytes(78, pRNDSTAT_);
            }
            if (((bitField2_ & 0x00002000) == 0x00002000)) {
              output.writeBytes(79, hVBatCntctrStat_);
            }
            if (((bitField2_ & 0x00004000) == 0x00004000)) {
              output.writeBytes(80, chargingSystemStatus_);
            }
            if (((bitField2_ & 0x00008000) == 0x00008000)) {
              output.writeInt32(81, chargingLevel_);
            }
            if (((bitField2_ & 0x00010000) == 0x00010000)) {
              output.writeInt32(82, hVBatSOCHCP_);
            }
            if (((bitField2_ & 0x00020000) == 0x00020000)) {
              output.writeInt32(83, wheelRPMRearRight_);
            }
            if (((bitField2_ & 0x00040000) == 0x00040000)) {
              output.writeInt32(84, wheelRPMRearLeft_);
            }
            if (((bitField2_ & 0x00080000) == 0x00080000)) {
              output.writeInt32(85, wheelRPMFrontRight_);
            }
            if (((bitField2_ & 0x00100000) == 0x00100000)) {
              output.writeInt32(86, wheelRPMFrontLeft_);
            }
            if (((bitField2_ & 0x00200000) == 0x00200000)) {
              output.writeBytes(87, tCASESTAT_);
            }
            if (((bitField2_ & 0x00400000) == 0x00400000)) {
              output.writeBytes(89, sHFTPROG_);
            }
            if (((bitField2_ & 0x00800000) == 0x00800000)) {
              output.writeInt32(90, cCSetSpdDsplMPH_);
            }
            if (((bitField2_ & 0x01000000) == 0x01000000)) {
              output.writeBytes(91, aCCOnOff_);
            }
            if (((bitField2_ & 0x02000000) == 0x02000000)) {
              output.writeInt32(92, cRUISEEGD_);
            }
            if (((bitField2_ & 0x04000000) == 0x04000000)) {
              output.writeInt32(93, trnsTrqReqSlow2_);
            }
            if (((bitField2_ & 0x08000000) == 0x08000000)) {
              output.writeBytes(94, consumptionUnit_);
            }
            if (((bitField2_ & 0x10000000) == 0x10000000)) {
              output.writeBytes(95, pFWStat_);
            }
            if (((bitField2_ & 0x20000000) == 0x20000000)) {
              output.writeBytes(96, mapEng_);
            }
            if (((bitField2_ & 0x40000000) == 0x40000000)) {
              output.writeInt32(97, adblueFLLVL_);
            }
            unknownFields.writeTo(output);
          }

          public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1) return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(1, batteryVoltage_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(2, engineRPM_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(3, vehicleSpeed_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(4, ignitionOffTimeLong_);
            }
            if (((bitField0_ & 0x00000010) == 0x00000010)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(5, instantFuelEconomy_);
            }
            if (((bitField0_ & 0x00000020) == 0x00000020)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(6, gr_);
            }
            if (((bitField0_ & 0x00000040) == 0x00000040)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(7, isMILOnRq_);
            }
            if (((bitField0_ & 0x00000080) == 0x00000080)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(8, oDO_);
            }
            if (((bitField0_ & 0x00000100) == 0x00000100)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(9, avgFuelLvl_);
            }
            if (((bitField0_ & 0x00000200) == 0x00000200)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(10, engineOilTemperature_);
            }
            if (((bitField0_ & 0x00000400) == 0x00000400)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(11, engineCoolantTemperature_);
            }
            if (((bitField0_ & 0x00000800) == 0x00000800)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(12, isDayLightMode_);
            }
            if (((bitField0_ & 0x00001000) == 0x00001000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(13, isEModeSatus_);
            }
            if (((bitField0_ & 0x00002000) == 0x00002000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(14, driverDoorSatus_);
            }
            if (((bitField0_ & 0x00004000) == 0x00004000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(15, cmdIgnitionStatus_);
            }
            if (((bitField0_ & 0x00008000) == 0x00008000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(16, frontLeftHeatedSeatStatus_);
            }
            if (((bitField0_ & 0x00010000) == 0x00010000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(17, autoDfgStatus_);
            }
            if (((bitField0_ & 0x00020000) == 0x00020000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(18, fTFOGRQ_);
            }
            if (((bitField0_ & 0x00040000) == 0x00040000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(19, isACClutchEngaged_);
            }
            if (((bitField0_ & 0x00080000) == 0x00080000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(20, vehPerfAccelX_);
            }
            if (((bitField0_ & 0x00100000) == 0x00100000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(21, vehPerfAccelY_);
            }
            if (((bitField0_ & 0x00200000) == 0x00200000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(22, frontRightHeatedSeatStatus_);
            }
            if (((bitField0_ & 0x00400000) == 0x00400000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(23, spStSwStat_);
            }
            if (((bitField0_ & 0x00800000) == 0x00800000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(24, essEngineStatus_);
            }
            if (((bitField0_ & 0x01000000) == 0x01000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(25, ambientTemperatureAvg_);
            }
            if (((bitField0_ & 0x02000000) == 0x02000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeMessageSize(26, getTirePressure());
            }
            if (((bitField0_ & 0x04000000) == 0x04000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(27, mzrModeAct_);
            }
            if (((bitField0_ & 0x08000000) == 0x08000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(28, dpfDefWarningStatus_);
            }
            if (((bitField0_ & 0x10000000) == 0x10000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeEnumSize(29, absLampStatus_);
            }
            if (((bitField0_ & 0x20000000) == 0x20000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(30, brkIndLmpOnRqESC_);
            }
            if (((bitField0_ & 0x40000000) == 0x40000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(31, isCheckFuelCap_);
            }
            if (((bitField0_ & 0x80000000) == 0x80000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeEnumSize(32, etcLmpIndSts_);
            }
            if (((bitField1_ & 0x00000001) == 0x00000001)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(33, oilPressure_);
            }
            if (((bitField1_ & 0x00000002) == 0x00000002)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(34, txTempExcess_);
            }
            if (((bitField1_ & 0x00000004) == 0x00000004)) {
              size += com.google.protobuf.CodedOutputStream
                .computeEnumSize(35, srsIndLmpSts_);
            }
            if (((bitField1_ & 0x00000008) == 0x00000008)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(36, isBrakeFluidLow_);
            }
            if (((bitField1_ & 0x00000010) == 0x00000010)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBoolSize(37, isEngineOilLampOn_);
            }
            if (((bitField1_ & 0x00000020) == 0x00000020)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(38, oilTempIndicatorRq_);
            }
            if (((bitField1_ & 0x00000040) == 0x00000040)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(40, engineTrqRqEsc_);
            }
            if (((bitField1_ & 0x00000080) == 0x00000080)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(41, engineLoad_);
            }
            if (((bitField1_ & 0x00000100) == 0x00000100)) {
              size += com.google.protobuf.CodedOutputStream
                .computeSInt32Size(42, iBSTBATT_);
            }
            if (((bitField1_ & 0x00000200) == 0x00000200)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(43, iBSVBATT_);
            }
            if (((bitField1_ & 0x00000400) == 0x00000400)) {
              size += com.google.protobuf.CodedOutputStream
                .computeFloatSize(44, iBSSOC_);
            }
            if (((bitField1_ & 0x00000800) == 0x00000800)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(45, batterySTCrit_);
            }
            if (((bitField1_ & 0x00001000) == 0x00001000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(46, boostPressureIndication_);
            }
            if (((bitField1_ & 0x00002000) == 0x00002000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(47, rainSensorLevel_);
            }
            if (((bitField1_ & 0x00004000) == 0x00004000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(48, actlAcceleratorPedalPosition_);
            }
            if (((bitField1_ & 0x00008000) == 0x00008000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(49, acceleratorPedalPosition_);
            }
            if (((bitField1_ & 0x00010000) == 0x00010000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeSInt32Size(50, iBSIBATT_);
            }
            if (((bitField1_ & 0x00020000) == 0x00020000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(51, fuelCons_);
            }
            if (((bitField1_ & 0x00040000) == 0x00040000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(52, engineTorqueStatic_);
            }
            if (((bitField1_ & 0x00080000) == 0x00080000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(53, brakeStatus_);
            }
            if (((bitField1_ & 0x00100000) == 0x00100000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(54, absBrakeEvent_);
            }
            if (((bitField1_ & 0x00200000) == 0x00200000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(55, spStDispstat_);
            }
            if (((bitField1_ & 0x00400000) == 0x00400000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(56, vCASERS_);
            }
            if (((bitField1_ & 0x00800000) == 0x00800000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(57, drvRqShftROT_);
            }
            if (((bitField1_ & 0x01000000) == 0x01000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(58, ePBHoldSts_);
            }
            if (((bitField1_ & 0x02000000) == 0x02000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(59, padShft_);
            }
            if (((bitField1_ & 0x04000000) == 0x04000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(60, tCaseAWDDrvMdRq_);
            }
            if (((bitField1_ & 0x08000000) == 0x08000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(61, tRNSSPDMC_);
            }
            if (((bitField1_ & 0x10000000) == 0x10000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(62, trnsEMCCAchvd_);
            }
            if (((bitField1_ & 0x20000000) == 0x20000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(63, outputSpdPolarity_);
            }
            if (((bitField1_ & 0x40000000) == 0x40000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(64, outputSpeed_);
            }
            if (((bitField1_ & 0x80000000) == 0x80000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(65, nTurb_);
            }
            if (((bitField2_ & 0x00000001) == 0x00000001)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(66, kS_);
            }
            if (((bitField2_ & 0x00000002) == 0x00000002)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(67, kSTOB_);
            }
            if (((bitField2_ & 0x00000004) == 0x00000004)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(68, kSB_);
            }
            if (((bitField2_ & 0x00000008) == 0x00000008)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(69, kOB_);
            }
            if (((bitField2_ & 0x00000010) == 0x00000010)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(70, kGB_);
            }
            if (((bitField2_ & 0x00000020) == 0x00000020)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(71, grTarget_);
            }
            if (((bitField2_ & 0x00000040) == 0x00000040)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(72, gearSwitchActiveStatus_);
            }
            if (((bitField2_ & 0x00000080) == 0x00000080)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(73, engStEnblRqTCM_);
            }
            if (((bitField2_ & 0x00000100) == 0x00000100)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(74, tXTEMP_);
            }
            if (((bitField2_ & 0x00000200) == 0x00000200)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(75, brkPrssTMC_);
            }
            if (((bitField2_ & 0x00000400) == 0x00000400)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(76, prplsnSysAtv_);
            }
            if (((bitField2_ & 0x00000800) == 0x00000800)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(77, driveReady_);
            }
            if (((bitField2_ & 0x00001000) == 0x00001000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(78, pRNDSTAT_);
            }
            if (((bitField2_ & 0x00002000) == 0x00002000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(79, hVBatCntctrStat_);
            }
            if (((bitField2_ & 0x00004000) == 0x00004000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(80, chargingSystemStatus_);
            }
            if (((bitField2_ & 0x00008000) == 0x00008000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(81, chargingLevel_);
            }
            if (((bitField2_ & 0x00010000) == 0x00010000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(82, hVBatSOCHCP_);
            }
            if (((bitField2_ & 0x00020000) == 0x00020000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(83, wheelRPMRearRight_);
            }
            if (((bitField2_ & 0x00040000) == 0x00040000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(84, wheelRPMRearLeft_);
            }
            if (((bitField2_ & 0x00080000) == 0x00080000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(85, wheelRPMFrontRight_);
            }
            if (((bitField2_ & 0x00100000) == 0x00100000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(86, wheelRPMFrontLeft_);
            }
            if (((bitField2_ & 0x00200000) == 0x00200000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(87, tCASESTAT_);
            }
            if (((bitField2_ & 0x00400000) == 0x00400000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(89, sHFTPROG_);
            }
            if (((bitField2_ & 0x00800000) == 0x00800000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(90, cCSetSpdDsplMPH_);
            }
            if (((bitField2_ & 0x01000000) == 0x01000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(91, aCCOnOff_);
            }
            if (((bitField2_ & 0x02000000) == 0x02000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(92, cRUISEEGD_);
            }
            if (((bitField2_ & 0x04000000) == 0x04000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(93, trnsTrqReqSlow2_);
            }
            if (((bitField2_ & 0x08000000) == 0x08000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(94, consumptionUnit_);
            }
            if (((bitField2_ & 0x10000000) == 0x10000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(95, pFWStat_);
            }
            if (((bitField2_ & 0x20000000) == 0x20000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(96, mapEng_);
            }
            if (((bitField2_ & 0x40000000) == 0x40000000)) {
              size += com.google.protobuf.CodedOutputStream
                .computeInt32Size(97, adblueFLLVL_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
          }

          private static final long serialVersionUID = 0L;
          @java.lang.Override
          public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
             return true;
            }
            if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data)) {
              return super.equals(obj);
            }
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data) obj;

            boolean result = true;
            result = result && (hasBatteryVoltage() == other.hasBatteryVoltage());
            if (hasBatteryVoltage()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getBatteryVoltage())
                  == java.lang.Float.floatToIntBits(
                      other.getBatteryVoltage()));
            }
            result = result && (hasEngineRPM() == other.hasEngineRPM());
            if (hasEngineRPM()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getEngineRPM())
                  == java.lang.Float.floatToIntBits(
                      other.getEngineRPM()));
            }
            result = result && (hasVehicleSpeed() == other.hasVehicleSpeed());
            if (hasVehicleSpeed()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getVehicleSpeed())
                  == java.lang.Float.floatToIntBits(
                      other.getVehicleSpeed()));
            }
            result = result && (hasIgnitionOffTimeLong() == other.hasIgnitionOffTimeLong());
            if (hasIgnitionOffTimeLong()) {
              result = result && (getIgnitionOffTimeLong()
                  == other.getIgnitionOffTimeLong());
            }
            result = result && (hasInstantFuelEconomy() == other.hasInstantFuelEconomy());
            if (hasInstantFuelEconomy()) {
              result = result && (getInstantFuelEconomy()
                  == other.getInstantFuelEconomy());
            }
            result = result && (hasGr() == other.hasGr());
            if (hasGr()) {
              result = result && (getGr()
                  == other.getGr());
            }
            result = result && (hasIsMILOnRq() == other.hasIsMILOnRq());
            if (hasIsMILOnRq()) {
              result = result && (getIsMILOnRq()
                  == other.getIsMILOnRq());
            }
            result = result && (hasODO() == other.hasODO());
            if (hasODO()) {
              result = result && (getODO()
                  == other.getODO());
            }
            result = result && (hasAvgFuelLvl() == other.hasAvgFuelLvl());
            if (hasAvgFuelLvl()) {
              result = result && (getAvgFuelLvl()
                  == other.getAvgFuelLvl());
            }
            result = result && (hasEngineOilTemperature() == other.hasEngineOilTemperature());
            if (hasEngineOilTemperature()) {
              result = result && (getEngineOilTemperature()
                  == other.getEngineOilTemperature());
            }
            result = result && (hasEngineCoolantTemperature() == other.hasEngineCoolantTemperature());
            if (hasEngineCoolantTemperature()) {
              result = result && (getEngineCoolantTemperature()
                  == other.getEngineCoolantTemperature());
            }
            result = result && (hasIsDayLightMode() == other.hasIsDayLightMode());
            if (hasIsDayLightMode()) {
              result = result && (getIsDayLightMode()
                  == other.getIsDayLightMode());
            }
            result = result && (hasIsEModeSatus() == other.hasIsEModeSatus());
            if (hasIsEModeSatus()) {
              result = result && getIsEModeSatus()
                  .equals(other.getIsEModeSatus());
            }
            result = result && (hasDriverDoorSatus() == other.hasDriverDoorSatus());
            if (hasDriverDoorSatus()) {
              result = result && getDriverDoorSatus()
                  .equals(other.getDriverDoorSatus());
            }
            result = result && (hasCmdIgnitionStatus() == other.hasCmdIgnitionStatus());
            if (hasCmdIgnitionStatus()) {
              result = result && getCmdIgnitionStatus()
                  .equals(other.getCmdIgnitionStatus());
            }
            result = result && (hasFrontLeftHeatedSeatStatus() == other.hasFrontLeftHeatedSeatStatus());
            if (hasFrontLeftHeatedSeatStatus()) {
              result = result && getFrontLeftHeatedSeatStatus()
                  .equals(other.getFrontLeftHeatedSeatStatus());
            }
            result = result && (hasAutoDfgStatus() == other.hasAutoDfgStatus());
            if (hasAutoDfgStatus()) {
              result = result && getAutoDfgStatus()
                  .equals(other.getAutoDfgStatus());
            }
            result = result && (hasFTFOGRQ() == other.hasFTFOGRQ());
            if (hasFTFOGRQ()) {
              result = result && getFTFOGRQ()
                  .equals(other.getFTFOGRQ());
            }
            result = result && (hasIsACClutchEngaged() == other.hasIsACClutchEngaged());
            if (hasIsACClutchEngaged()) {
              result = result && (getIsACClutchEngaged()
                  == other.getIsACClutchEngaged());
            }
            result = result && (hasVehPerfAccelX() == other.hasVehPerfAccelX());
            if (hasVehPerfAccelX()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getVehPerfAccelX())
                  == java.lang.Float.floatToIntBits(
                      other.getVehPerfAccelX()));
            }
            result = result && (hasVehPerfAccelY() == other.hasVehPerfAccelY());
            if (hasVehPerfAccelY()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getVehPerfAccelY())
                  == java.lang.Float.floatToIntBits(
                      other.getVehPerfAccelY()));
            }
            result = result && (hasFrontRightHeatedSeatStatus() == other.hasFrontRightHeatedSeatStatus());
            if (hasFrontRightHeatedSeatStatus()) {
              result = result && getFrontRightHeatedSeatStatus()
                  .equals(other.getFrontRightHeatedSeatStatus());
            }
            result = result && (hasSpStSwStat() == other.hasSpStSwStat());
            if (hasSpStSwStat()) {
              result = result && getSpStSwStat()
                  .equals(other.getSpStSwStat());
            }
            result = result && (hasEssEngineStatus() == other.hasEssEngineStatus());
            if (hasEssEngineStatus()) {
              result = result && getEssEngineStatus()
                  .equals(other.getEssEngineStatus());
            }
            result = result && (hasAmbientTemperatureAvg() == other.hasAmbientTemperatureAvg());
            if (hasAmbientTemperatureAvg()) {
              result = result && (getAmbientTemperatureAvg()
                  == other.getAmbientTemperatureAvg());
            }
            result = result && (hasTirePressure() == other.hasTirePressure());
            if (hasTirePressure()) {
              result = result && getTirePressure()
                  .equals(other.getTirePressure());
            }
            result = result && (hasMzrModeAct() == other.hasMzrModeAct());
            if (hasMzrModeAct()) {
              result = result && getMzrModeAct()
                  .equals(other.getMzrModeAct());
            }
            result = result && (hasDpfDefWarningStatus() == other.hasDpfDefWarningStatus());
            if (hasDpfDefWarningStatus()) {
              result = result && getDpfDefWarningStatus()
                  .equals(other.getDpfDefWarningStatus());
            }
            result = result && (hasAbsLampStatus() == other.hasAbsLampStatus());
            if (hasAbsLampStatus()) {
              result = result && absLampStatus_ == other.absLampStatus_;
            }
            result = result && (hasBrkIndLmpOnRqESC() == other.hasBrkIndLmpOnRqESC());
            if (hasBrkIndLmpOnRqESC()) {
              result = result && getBrkIndLmpOnRqESC()
                  .equals(other.getBrkIndLmpOnRqESC());
            }
            result = result && (hasIsCheckFuelCap() == other.hasIsCheckFuelCap());
            if (hasIsCheckFuelCap()) {
              result = result && (getIsCheckFuelCap()
                  == other.getIsCheckFuelCap());
            }
            result = result && (hasEtcLmpIndSts() == other.hasEtcLmpIndSts());
            if (hasEtcLmpIndSts()) {
              result = result && etcLmpIndSts_ == other.etcLmpIndSts_;
            }
            result = result && (hasOilPressure() == other.hasOilPressure());
            if (hasOilPressure()) {
              result = result && (getOilPressure()
                  == other.getOilPressure());
            }
            result = result && (hasTxTempExcess() == other.hasTxTempExcess());
            if (hasTxTempExcess()) {
              result = result && getTxTempExcess()
                  .equals(other.getTxTempExcess());
            }
            result = result && (hasSrsIndLmpSts() == other.hasSrsIndLmpSts());
            if (hasSrsIndLmpSts()) {
              result = result && srsIndLmpSts_ == other.srsIndLmpSts_;
            }
            result = result && (hasIsBrakeFluidLow() == other.hasIsBrakeFluidLow());
            if (hasIsBrakeFluidLow()) {
              result = result && (getIsBrakeFluidLow()
                  == other.getIsBrakeFluidLow());
            }
            result = result && (hasIsEngineOilLampOn() == other.hasIsEngineOilLampOn());
            if (hasIsEngineOilLampOn()) {
              result = result && (getIsEngineOilLampOn()
                  == other.getIsEngineOilLampOn());
            }
            result = result && (hasOilTempIndicatorRq() == other.hasOilTempIndicatorRq());
            if (hasOilTempIndicatorRq()) {
              result = result && (getOilTempIndicatorRq()
                  == other.getOilTempIndicatorRq());
            }
            result = result && (hasEngineTrqRqEsc() == other.hasEngineTrqRqEsc());
            if (hasEngineTrqRqEsc()) {
              result = result && (getEngineTrqRqEsc()
                  == other.getEngineTrqRqEsc());
            }
            result = result && (hasEngineLoad() == other.hasEngineLoad());
            if (hasEngineLoad()) {
              result = result && (getEngineLoad()
                  == other.getEngineLoad());
            }
            result = result && (hasIBSTBATT() == other.hasIBSTBATT());
            if (hasIBSTBATT()) {
              result = result && (getIBSTBATT()
                  == other.getIBSTBATT());
            }
            result = result && (hasIBSVBATT() == other.hasIBSVBATT());
            if (hasIBSVBATT()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getIBSVBATT())
                  == java.lang.Float.floatToIntBits(
                      other.getIBSVBATT()));
            }
            result = result && (hasIBSSOC() == other.hasIBSSOC());
            if (hasIBSSOC()) {
              result = result && (
                  java.lang.Float.floatToIntBits(getIBSSOC())
                  == java.lang.Float.floatToIntBits(
                      other.getIBSSOC()));
            }
            result = result && (hasBatterySTCrit() == other.hasBatterySTCrit());
            if (hasBatterySTCrit()) {
              result = result && getBatterySTCrit()
                  .equals(other.getBatterySTCrit());
            }
            result = result && (hasBoostPressureIndication() == other.hasBoostPressureIndication());
            if (hasBoostPressureIndication()) {
              result = result && (getBoostPressureIndication()
                  == other.getBoostPressureIndication());
            }
            result = result && (hasRainSensorLevel() == other.hasRainSensorLevel());
            if (hasRainSensorLevel()) {
              result = result && (getRainSensorLevel()
                  == other.getRainSensorLevel());
            }
            result = result && (hasActlAcceleratorPedalPosition() == other.hasActlAcceleratorPedalPosition());
            if (hasActlAcceleratorPedalPosition()) {
              result = result && (getActlAcceleratorPedalPosition()
                  == other.getActlAcceleratorPedalPosition());
            }
            result = result && (hasAcceleratorPedalPosition() == other.hasAcceleratorPedalPosition());
            if (hasAcceleratorPedalPosition()) {
              result = result && (getAcceleratorPedalPosition()
                  == other.getAcceleratorPedalPosition());
            }
            result = result && (hasIBSIBATT() == other.hasIBSIBATT());
            if (hasIBSIBATT()) {
              result = result && (getIBSIBATT()
                  == other.getIBSIBATT());
            }
            result = result && (hasFuelCons() == other.hasFuelCons());
            if (hasFuelCons()) {
              result = result && (getFuelCons()
                  == other.getFuelCons());
            }
            result = result && (hasEngineTorqueStatic() == other.hasEngineTorqueStatic());
            if (hasEngineTorqueStatic()) {
              result = result && (getEngineTorqueStatic()
                  == other.getEngineTorqueStatic());
            }
            result = result && (hasBrakeStatus() == other.hasBrakeStatus());
            if (hasBrakeStatus()) {
              result = result && getBrakeStatus()
                  .equals(other.getBrakeStatus());
            }
            result = result && (hasAbsBrakeEvent() == other.hasAbsBrakeEvent());
            if (hasAbsBrakeEvent()) {
              result = result && getAbsBrakeEvent()
                  .equals(other.getAbsBrakeEvent());
            }
            result = result && (hasSpStDispstat() == other.hasSpStDispstat());
            if (hasSpStDispstat()) {
              result = result && getSpStDispstat()
                  .equals(other.getSpStDispstat());
            }
            result = result && (hasVCASERS() == other.hasVCASERS());
            if (hasVCASERS()) {
              result = result && (getVCASERS()
                  == other.getVCASERS());
            }
            result = result && (hasDrvRqShftROT() == other.hasDrvRqShftROT());
            if (hasDrvRqShftROT()) {
              result = result && (getDrvRqShftROT()
                  == other.getDrvRqShftROT());
            }
            result = result && (hasEPBHoldSts() == other.hasEPBHoldSts());
            if (hasEPBHoldSts()) {
              result = result && getEPBHoldSts()
                  .equals(other.getEPBHoldSts());
            }
            result = result && (hasPadShft() == other.hasPadShft());
            if (hasPadShft()) {
              result = result && (getPadShft()
                  == other.getPadShft());
            }
            result = result && (hasTCaseAWDDrvMdRq() == other.hasTCaseAWDDrvMdRq());
            if (hasTCaseAWDDrvMdRq()) {
              result = result && (getTCaseAWDDrvMdRq()
                  == other.getTCaseAWDDrvMdRq());
            }
            result = result && (hasTRNSSPDMC() == other.hasTRNSSPDMC());
            if (hasTRNSSPDMC()) {
              result = result && (getTRNSSPDMC()
                  == other.getTRNSSPDMC());
            }
            result = result && (hasTrnsEMCCAchvd() == other.hasTrnsEMCCAchvd());
            if (hasTrnsEMCCAchvd()) {
              result = result && (getTrnsEMCCAchvd()
                  == other.getTrnsEMCCAchvd());
            }
            result = result && (hasOutputSpdPolarity() == other.hasOutputSpdPolarity());
            if (hasOutputSpdPolarity()) {
              result = result && getOutputSpdPolarity()
                  .equals(other.getOutputSpdPolarity());
            }
            result = result && (hasOutputSpeed() == other.hasOutputSpeed());
            if (hasOutputSpeed()) {
              result = result && (getOutputSpeed()
                  == other.getOutputSpeed());
            }
            result = result && (hasNTurb() == other.hasNTurb());
            if (hasNTurb()) {
              result = result && (getNTurb()
                  == other.getNTurb());
            }
            result = result && (hasKS() == other.hasKS());
            if (hasKS()) {
              result = result && (getKS()
                  == other.getKS());
            }
            result = result && (hasKSTOB() == other.hasKSTOB());
            if (hasKSTOB()) {
              result = result && (getKSTOB()
                  == other.getKSTOB());
            }
            result = result && (hasKSB() == other.hasKSB());
            if (hasKSB()) {
              result = result && (getKSB()
                  == other.getKSB());
            }
            result = result && (hasKOB() == other.hasKOB());
            if (hasKOB()) {
              result = result && (getKOB()
                  == other.getKOB());
            }
            result = result && (hasKGB() == other.hasKGB());
            if (hasKGB()) {
              result = result && (getKGB()
                  == other.getKGB());
            }
            result = result && (hasGrTarget() == other.hasGrTarget());
            if (hasGrTarget()) {
              result = result && (getGrTarget()
                  == other.getGrTarget());
            }
            result = result && (hasGearSwitchActiveStatus() == other.hasGearSwitchActiveStatus());
            if (hasGearSwitchActiveStatus()) {
              result = result && getGearSwitchActiveStatus()
                  .equals(other.getGearSwitchActiveStatus());
            }
            result = result && (hasEngStEnblRqTCM() == other.hasEngStEnblRqTCM());
            if (hasEngStEnblRqTCM()) {
              result = result && getEngStEnblRqTCM()
                  .equals(other.getEngStEnblRqTCM());
            }
            result = result && (hasTXTEMP() == other.hasTXTEMP());
            if (hasTXTEMP()) {
              result = result && (getTXTEMP()
                  == other.getTXTEMP());
            }
            result = result && (hasBrkPrssTMC() == other.hasBrkPrssTMC());
            if (hasBrkPrssTMC()) {
              result = result && (getBrkPrssTMC()
                  == other.getBrkPrssTMC());
            }
            result = result && (hasPrplsnSysAtv() == other.hasPrplsnSysAtv());
            if (hasPrplsnSysAtv()) {
              result = result && (getPrplsnSysAtv()
                  == other.getPrplsnSysAtv());
            }
            result = result && (hasDriveReady() == other.hasDriveReady());
            if (hasDriveReady()) {
              result = result && getDriveReady()
                  .equals(other.getDriveReady());
            }
            result = result && (hasPRNDSTAT() == other.hasPRNDSTAT());
            if (hasPRNDSTAT()) {
              result = result && getPRNDSTAT()
                  .equals(other.getPRNDSTAT());
            }
            result = result && (hasHVBatCntctrStat() == other.hasHVBatCntctrStat());
            if (hasHVBatCntctrStat()) {
              result = result && getHVBatCntctrStat()
                  .equals(other.getHVBatCntctrStat());
            }
            result = result && (hasChargingSystemStatus() == other.hasChargingSystemStatus());
            if (hasChargingSystemStatus()) {
              result = result && getChargingSystemStatus()
                  .equals(other.getChargingSystemStatus());
            }
            result = result && (hasChargingLevel() == other.hasChargingLevel());
            if (hasChargingLevel()) {
              result = result && (getChargingLevel()
                  == other.getChargingLevel());
            }
            result = result && (hasHVBatSOCHCP() == other.hasHVBatSOCHCP());
            if (hasHVBatSOCHCP()) {
              result = result && (getHVBatSOCHCP()
                  == other.getHVBatSOCHCP());
            }
            result = result && (hasWheelRPMRearRight() == other.hasWheelRPMRearRight());
            if (hasWheelRPMRearRight()) {
              result = result && (getWheelRPMRearRight()
                  == other.getWheelRPMRearRight());
            }
            result = result && (hasWheelRPMRearLeft() == other.hasWheelRPMRearLeft());
            if (hasWheelRPMRearLeft()) {
              result = result && (getWheelRPMRearLeft()
                  == other.getWheelRPMRearLeft());
            }
            result = result && (hasWheelRPMFrontRight() == other.hasWheelRPMFrontRight());
            if (hasWheelRPMFrontRight()) {
              result = result && (getWheelRPMFrontRight()
                  == other.getWheelRPMFrontRight());
            }
            result = result && (hasWheelRPMFrontLeft() == other.hasWheelRPMFrontLeft());
            if (hasWheelRPMFrontLeft()) {
              result = result && (getWheelRPMFrontLeft()
                  == other.getWheelRPMFrontLeft());
            }
            result = result && (hasTCASESTAT() == other.hasTCASESTAT());
            if (hasTCASESTAT()) {
              result = result && getTCASESTAT()
                  .equals(other.getTCASESTAT());
            }
            result = result && (hasSHFTPROG() == other.hasSHFTPROG());
            if (hasSHFTPROG()) {
              result = result && getSHFTPROG()
                  .equals(other.getSHFTPROG());
            }
            result = result && (hasCCSetSpdDsplMPH() == other.hasCCSetSpdDsplMPH());
            if (hasCCSetSpdDsplMPH()) {
              result = result && (getCCSetSpdDsplMPH()
                  == other.getCCSetSpdDsplMPH());
            }
            result = result && (hasACCOnOff() == other.hasACCOnOff());
            if (hasACCOnOff()) {
              result = result && getACCOnOff()
                  .equals(other.getACCOnOff());
            }
            result = result && (hasCRUISEEGD() == other.hasCRUISEEGD());
            if (hasCRUISEEGD()) {
              result = result && (getCRUISEEGD()
                  == other.getCRUISEEGD());
            }
            result = result && (hasTrnsTrqReqSlow2() == other.hasTrnsTrqReqSlow2());
            if (hasTrnsTrqReqSlow2()) {
              result = result && (getTrnsTrqReqSlow2()
                  == other.getTrnsTrqReqSlow2());
            }
            result = result && (hasConsumptionUnit() == other.hasConsumptionUnit());
            if (hasConsumptionUnit()) {
              result = result && getConsumptionUnit()
                  .equals(other.getConsumptionUnit());
            }
            result = result && (hasPFWStat() == other.hasPFWStat());
            if (hasPFWStat()) {
              result = result && getPFWStat()
                  .equals(other.getPFWStat());
            }
            result = result && (hasMapEng() == other.hasMapEng());
            if (hasMapEng()) {
              result = result && getMapEng()
                  .equals(other.getMapEng());
            }
            result = result && (hasAdblueFLLVL() == other.hasAdblueFLLVL());
            if (hasAdblueFLLVL()) {
              result = result && (getAdblueFLLVL()
                  == other.getAdblueFLLVL());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
          }

          @java.lang.Override
          public int hashCode() {
            if (memoizedHashCode != 0) {
              return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptorForType().hashCode();
            if (hasBatteryVoltage()) {
              hash = (37 * hash) + BATTERYVOLTAGE_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getBatteryVoltage());
            }
            if (hasEngineRPM()) {
              hash = (37 * hash) + ENGINERPM_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getEngineRPM());
            }
            if (hasVehicleSpeed()) {
              hash = (37 * hash) + VEHICLESPEED_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getVehicleSpeed());
            }
            if (hasIgnitionOffTimeLong()) {
              hash = (37 * hash) + IGNITIONOFFTIMELONG_FIELD_NUMBER;
              hash = (53 * hash) + getIgnitionOffTimeLong();
            }
            if (hasInstantFuelEconomy()) {
              hash = (37 * hash) + INSTANTFUELECONOMY_FIELD_NUMBER;
              hash = (53 * hash) + getInstantFuelEconomy();
            }
            if (hasGr()) {
              hash = (37 * hash) + GR_FIELD_NUMBER;
              hash = (53 * hash) + getGr();
            }
            if (hasIsMILOnRq()) {
              hash = (37 * hash) + ISMILONRQ_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsMILOnRq());
            }
            if (hasODO()) {
              hash = (37 * hash) + ODO_FIELD_NUMBER;
              hash = (53 * hash) + getODO();
            }
            if (hasAvgFuelLvl()) {
              hash = (37 * hash) + AVGFUELLVL_FIELD_NUMBER;
              hash = (53 * hash) + getAvgFuelLvl();
            }
            if (hasEngineOilTemperature()) {
              hash = (37 * hash) + ENGINEOILTEMPERATURE_FIELD_NUMBER;
              hash = (53 * hash) + getEngineOilTemperature();
            }
            if (hasEngineCoolantTemperature()) {
              hash = (37 * hash) + ENGINECOOLANTTEMPERATURE_FIELD_NUMBER;
              hash = (53 * hash) + getEngineCoolantTemperature();
            }
            if (hasIsDayLightMode()) {
              hash = (37 * hash) + ISDAYLIGHTMODE_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsDayLightMode());
            }
            if (hasIsEModeSatus()) {
              hash = (37 * hash) + ISEMODESATUS_FIELD_NUMBER;
              hash = (53 * hash) + getIsEModeSatus().hashCode();
            }
            if (hasDriverDoorSatus()) {
              hash = (37 * hash) + DRIVERDOORSATUS_FIELD_NUMBER;
              hash = (53 * hash) + getDriverDoorSatus().hashCode();
            }
            if (hasCmdIgnitionStatus()) {
              hash = (37 * hash) + CMDIGNITIONSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getCmdIgnitionStatus().hashCode();
            }
            if (hasFrontLeftHeatedSeatStatus()) {
              hash = (37 * hash) + FRONTLEFTHEATEDSEATSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getFrontLeftHeatedSeatStatus().hashCode();
            }
            if (hasAutoDfgStatus()) {
              hash = (37 * hash) + AUTODFGSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getAutoDfgStatus().hashCode();
            }
            if (hasFTFOGRQ()) {
              hash = (37 * hash) + FT_FOG_RQ_FIELD_NUMBER;
              hash = (53 * hash) + getFTFOGRQ().hashCode();
            }
            if (hasIsACClutchEngaged()) {
              hash = (37 * hash) + ISACCLUTCHENGAGED_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsACClutchEngaged());
            }
            if (hasVehPerfAccelX()) {
              hash = (37 * hash) + VEHPERFACCELX_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getVehPerfAccelX());
            }
            if (hasVehPerfAccelY()) {
              hash = (37 * hash) + VEHPERFACCELY_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getVehPerfAccelY());
            }
            if (hasFrontRightHeatedSeatStatus()) {
              hash = (37 * hash) + FRONTRIGHTHEATEDSEATSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getFrontRightHeatedSeatStatus().hashCode();
            }
            if (hasSpStSwStat()) {
              hash = (37 * hash) + SPSTSWSTAT_FIELD_NUMBER;
              hash = (53 * hash) + getSpStSwStat().hashCode();
            }
            if (hasEssEngineStatus()) {
              hash = (37 * hash) + ESSENGINESTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getEssEngineStatus().hashCode();
            }
            if (hasAmbientTemperatureAvg()) {
              hash = (37 * hash) + AMBIENTTEMPERATUREAVG_FIELD_NUMBER;
              hash = (53 * hash) + getAmbientTemperatureAvg();
            }
            if (hasTirePressure()) {
              hash = (37 * hash) + TIREPRESSURE_FIELD_NUMBER;
              hash = (53 * hash) + getTirePressure().hashCode();
            }
            if (hasMzrModeAct()) {
              hash = (37 * hash) + MZRMODEACT_FIELD_NUMBER;
              hash = (53 * hash) + getMzrModeAct().hashCode();
            }
            if (hasDpfDefWarningStatus()) {
              hash = (37 * hash) + DPFDEFWARNINGSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getDpfDefWarningStatus().hashCode();
            }
            if (hasAbsLampStatus()) {
              hash = (37 * hash) + ABSLAMPSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + absLampStatus_;
            }
            if (hasBrkIndLmpOnRqESC()) {
              hash = (37 * hash) + BRKINDLMPONRQESC_FIELD_NUMBER;
              hash = (53 * hash) + getBrkIndLmpOnRqESC().hashCode();
            }
            if (hasIsCheckFuelCap()) {
              hash = (37 * hash) + ISCHECKFUELCAP_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsCheckFuelCap());
            }
            if (hasEtcLmpIndSts()) {
              hash = (37 * hash) + ETCLMPINDSTS_FIELD_NUMBER;
              hash = (53 * hash) + etcLmpIndSts_;
            }
            if (hasOilPressure()) {
              hash = (37 * hash) + OILPRESSURE_FIELD_NUMBER;
              hash = (53 * hash) + getOilPressure();
            }
            if (hasTxTempExcess()) {
              hash = (37 * hash) + TXTEMPEXCESS_FIELD_NUMBER;
              hash = (53 * hash) + getTxTempExcess().hashCode();
            }
            if (hasSrsIndLmpSts()) {
              hash = (37 * hash) + SRSINDLMPSTS_FIELD_NUMBER;
              hash = (53 * hash) + srsIndLmpSts_;
            }
            if (hasIsBrakeFluidLow()) {
              hash = (37 * hash) + ISBRAKEFLUIDLOW_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsBrakeFluidLow());
            }
            if (hasIsEngineOilLampOn()) {
              hash = (37 * hash) + ISENGINEOILLAMPON_FIELD_NUMBER;
              hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                  getIsEngineOilLampOn());
            }
            if (hasOilTempIndicatorRq()) {
              hash = (37 * hash) + OILTEMPINDICATORRQ_FIELD_NUMBER;
              hash = (53 * hash) + getOilTempIndicatorRq();
            }
            if (hasEngineTrqRqEsc()) {
              hash = (37 * hash) + ENGINETRQRQESC_FIELD_NUMBER;
              hash = (53 * hash) + getEngineTrqRqEsc();
            }
            if (hasEngineLoad()) {
              hash = (37 * hash) + ENGINELOAD_FIELD_NUMBER;
              hash = (53 * hash) + getEngineLoad();
            }
            if (hasIBSTBATT()) {
              hash = (37 * hash) + IBS_T_BATT_FIELD_NUMBER;
              hash = (53 * hash) + getIBSTBATT();
            }
            if (hasIBSVBATT()) {
              hash = (37 * hash) + IBS_V_BATT_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getIBSVBATT());
            }
            if (hasIBSSOC()) {
              hash = (37 * hash) + IBS_SOC_FIELD_NUMBER;
              hash = (53 * hash) + java.lang.Float.floatToIntBits(
                  getIBSSOC());
            }
            if (hasBatterySTCrit()) {
              hash = (37 * hash) + BATTERYSTCRIT_FIELD_NUMBER;
              hash = (53 * hash) + getBatterySTCrit().hashCode();
            }
            if (hasBoostPressureIndication()) {
              hash = (37 * hash) + BOOSTPRESSUREINDICATION_FIELD_NUMBER;
              hash = (53 * hash) + getBoostPressureIndication();
            }
            if (hasRainSensorLevel()) {
              hash = (37 * hash) + RAINSENSORLEVEL_FIELD_NUMBER;
              hash = (53 * hash) + getRainSensorLevel();
            }
            if (hasActlAcceleratorPedalPosition()) {
              hash = (37 * hash) + ACTLACCELERATORPEDALPOSITION_FIELD_NUMBER;
              hash = (53 * hash) + getActlAcceleratorPedalPosition();
            }
            if (hasAcceleratorPedalPosition()) {
              hash = (37 * hash) + ACCELERATORPEDALPOSITION_FIELD_NUMBER;
              hash = (53 * hash) + getAcceleratorPedalPosition();
            }
            if (hasIBSIBATT()) {
              hash = (37 * hash) + IBS_I_BATT_FIELD_NUMBER;
              hash = (53 * hash) + getIBSIBATT();
            }
            if (hasFuelCons()) {
              hash = (37 * hash) + FUELCONS_FIELD_NUMBER;
              hash = (53 * hash) + getFuelCons();
            }
            if (hasEngineTorqueStatic()) {
              hash = (37 * hash) + ENGINETORQUESTATIC_FIELD_NUMBER;
              hash = (53 * hash) + getEngineTorqueStatic();
            }
            if (hasBrakeStatus()) {
              hash = (37 * hash) + BRAKESTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getBrakeStatus().hashCode();
            }
            if (hasAbsBrakeEvent()) {
              hash = (37 * hash) + ABSBRAKEEVENT_FIELD_NUMBER;
              hash = (53 * hash) + getAbsBrakeEvent().hashCode();
            }
            if (hasSpStDispstat()) {
              hash = (37 * hash) + SPSTDISPSTAT_FIELD_NUMBER;
              hash = (53 * hash) + getSpStDispstat().hashCode();
            }
            if (hasVCASERS()) {
              hash = (37 * hash) + VC_AS_ERS_FIELD_NUMBER;
              hash = (53 * hash) + getVCASERS();
            }
            if (hasDrvRqShftROT()) {
              hash = (37 * hash) + DRVRQSHFTROT_FIELD_NUMBER;
              hash = (53 * hash) + getDrvRqShftROT();
            }
            if (hasEPBHoldSts()) {
              hash = (37 * hash) + EPBHOLDSTS_FIELD_NUMBER;
              hash = (53 * hash) + getEPBHoldSts().hashCode();
            }
            if (hasPadShft()) {
              hash = (37 * hash) + PAD_SHFT_FIELD_NUMBER;
              hash = (53 * hash) + getPadShft();
            }
            if (hasTCaseAWDDrvMdRq()) {
              hash = (37 * hash) + TCASEAWD_DRVMDRQ_FIELD_NUMBER;
              hash = (53 * hash) + getTCaseAWDDrvMdRq();
            }
            if (hasTRNSSPDMC()) {
              hash = (37 * hash) + TRNS_SPD_MC_FIELD_NUMBER;
              hash = (53 * hash) + getTRNSSPDMC();
            }
            if (hasTrnsEMCCAchvd()) {
              hash = (37 * hash) + TRNS_EMCC_ACHVD_FIELD_NUMBER;
              hash = (53 * hash) + getTrnsEMCCAchvd();
            }
            if (hasOutputSpdPolarity()) {
              hash = (37 * hash) + OUTPUTSPDPOLARITY_FIELD_NUMBER;
              hash = (53 * hash) + getOutputSpdPolarity().hashCode();
            }
            if (hasOutputSpeed()) {
              hash = (37 * hash) + OUTPUTSPEED_FIELD_NUMBER;
              hash = (53 * hash) + getOutputSpeed();
            }
            if (hasNTurb()) {
              hash = (37 * hash) + NTURB_FIELD_NUMBER;
              hash = (53 * hash) + getNTurb();
            }
            if (hasKS()) {
              hash = (37 * hash) + KS_FIELD_NUMBER;
              hash = (53 * hash) + getKS();
            }
            if (hasKSTOB()) {
              hash = (37 * hash) + K_STO_B_FIELD_NUMBER;
              hash = (53 * hash) + getKSTOB();
            }
            if (hasKSB()) {
              hash = (37 * hash) + K_S_B_FIELD_NUMBER;
              hash = (53 * hash) + getKSB();
            }
            if (hasKOB()) {
              hash = (37 * hash) + K_O_B_FIELD_NUMBER;
              hash = (53 * hash) + getKOB();
            }
            if (hasKGB()) {
              hash = (37 * hash) + K_G_B_FIELD_NUMBER;
              hash = (53 * hash) + getKGB();
            }
            if (hasGrTarget()) {
              hash = (37 * hash) + GRTARGET_FIELD_NUMBER;
              hash = (53 * hash) + getGrTarget();
            }
            if (hasGearSwitchActiveStatus()) {
              hash = (37 * hash) + GEARSWITCHACTIVESTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getGearSwitchActiveStatus().hashCode();
            }
            if (hasEngStEnblRqTCM()) {
              hash = (37 * hash) + ENGST_ENBL_RQ_TCM_FIELD_NUMBER;
              hash = (53 * hash) + getEngStEnblRqTCM().hashCode();
            }
            if (hasTXTEMP()) {
              hash = (37 * hash) + TX_TEMP_FIELD_NUMBER;
              hash = (53 * hash) + getTXTEMP();
            }
            if (hasBrkPrssTMC()) {
              hash = (37 * hash) + BRKPRSS_TMC_FIELD_NUMBER;
              hash = (53 * hash) + getBrkPrssTMC();
            }
            if (hasPrplsnSysAtv()) {
              hash = (37 * hash) + PRPLSNSYSATV_FIELD_NUMBER;
              hash = (53 * hash) + getPrplsnSysAtv();
            }
            if (hasDriveReady()) {
              hash = (37 * hash) + DRIVEREADY_FIELD_NUMBER;
              hash = (53 * hash) + getDriveReady().hashCode();
            }
            if (hasPRNDSTAT()) {
              hash = (37 * hash) + PRND_STAT_FIELD_NUMBER;
              hash = (53 * hash) + getPRNDSTAT().hashCode();
            }
            if (hasHVBatCntctrStat()) {
              hash = (37 * hash) + HVBATCNTCTRSTAT_FIELD_NUMBER;
              hash = (53 * hash) + getHVBatCntctrStat().hashCode();
            }
            if (hasChargingSystemStatus()) {
              hash = (37 * hash) + CHARGINGSYSTEMSTATUS_FIELD_NUMBER;
              hash = (53 * hash) + getChargingSystemStatus().hashCode();
            }
            if (hasChargingLevel()) {
              hash = (37 * hash) + CHARGINGLEVEL_FIELD_NUMBER;
              hash = (53 * hash) + getChargingLevel();
            }
            if (hasHVBatSOCHCP()) {
              hash = (37 * hash) + HVBATSOC_HCP_FIELD_NUMBER;
              hash = (53 * hash) + getHVBatSOCHCP();
            }
            if (hasWheelRPMRearRight()) {
              hash = (37 * hash) + WHEELRPMREARRIGHT_FIELD_NUMBER;
              hash = (53 * hash) + getWheelRPMRearRight();
            }
            if (hasWheelRPMRearLeft()) {
              hash = (37 * hash) + WHEELRPMREARLEFT_FIELD_NUMBER;
              hash = (53 * hash) + getWheelRPMRearLeft();
            }
            if (hasWheelRPMFrontRight()) {
              hash = (37 * hash) + WHEELRPMFRONTRIGHT_FIELD_NUMBER;
              hash = (53 * hash) + getWheelRPMFrontRight();
            }
            if (hasWheelRPMFrontLeft()) {
              hash = (37 * hash) + WHEELRPMFRONTLEFT_FIELD_NUMBER;
              hash = (53 * hash) + getWheelRPMFrontLeft();
            }
            if (hasTCASESTAT()) {
              hash = (37 * hash) + TCASE_STAT_FIELD_NUMBER;
              hash = (53 * hash) + getTCASESTAT().hashCode();
            }
            if (hasSHFTPROG()) {
              hash = (37 * hash) + SHFT_PROG_FIELD_NUMBER;
              hash = (53 * hash) + getSHFTPROG().hashCode();
            }
            if (hasCCSetSpdDsplMPH()) {
              hash = (37 * hash) + CC_SETSPDDSPLMPH_FIELD_NUMBER;
              hash = (53 * hash) + getCCSetSpdDsplMPH();
            }
            if (hasACCOnOff()) {
              hash = (37 * hash) + ACCONOFF_FIELD_NUMBER;
              hash = (53 * hash) + getACCOnOff().hashCode();
            }
            if (hasCRUISEEGD()) {
              hash = (37 * hash) + CRUISE_EGD_FIELD_NUMBER;
              hash = (53 * hash) + getCRUISEEGD();
            }
            if (hasTrnsTrqReqSlow2()) {
              hash = (37 * hash) + TRNSTRQREQSLOW_2_FIELD_NUMBER;
              hash = (53 * hash) + getTrnsTrqReqSlow2();
            }
            if (hasConsumptionUnit()) {
              hash = (37 * hash) + CONSUMPTIONUNIT_FIELD_NUMBER;
              hash = (53 * hash) + getConsumptionUnit().hashCode();
            }
            if (hasPFWStat()) {
              hash = (37 * hash) + PFW_STAT_FIELD_NUMBER;
              hash = (53 * hash) + getPFWStat().hashCode();
            }
            if (hasMapEng()) {
              hash = (37 * hash) + MAP_ENG_FIELD_NUMBER;
              hash = (53 * hash) + getMapEng().hashCode();
            }
            if (hasAdblueFLLVL()) {
              hash = (37 * hash) + ADBLUE_FL_LVL_FIELD_NUMBER;
              hash = (53 * hash) + getAdblueFLLVL();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
          }

          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              com.google.protobuf.ByteString data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              com.google.protobuf.ByteString data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(byte[] data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              byte[] data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseDelimitedWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseDelimitedFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              com.google.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input);
          }
          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parseFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3
                .parseWithIOException(PARSER, input, extensionRegistry);
          }

          public Builder newBuilderForType() { return newBuilder(); }
          public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
          }
          public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() {
            return this == DEFAULT_INSTANCE
                ? new Builder() : new Builder().mergeFrom(this);
          }

          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          /**
           * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data}
           */
          public static final class Builder extends
              com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
              // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data)
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_fieldAccessorTable
                  .ensureFieldAccessorsInitialized(
                      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder.class);
            }

            // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }

            private Builder(
                com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.protobuf.GeneratedMessageV3
                      .alwaysUseFieldBuilders) {
                getTirePressureFieldBuilder();
              }
            }
            public Builder clear() {
              super.clear();
              batteryVoltage_ = 0F;
              bitField0_ = (bitField0_ & ~0x00000001);
              engineRPM_ = 0F;
              bitField0_ = (bitField0_ & ~0x00000002);
              vehicleSpeed_ = 0F;
              bitField0_ = (bitField0_ & ~0x00000004);
              ignitionOffTimeLong_ = 0;
              bitField0_ = (bitField0_ & ~0x00000008);
              instantFuelEconomy_ = 0;
              bitField0_ = (bitField0_ & ~0x00000010);
              gr_ = 0;
              bitField0_ = (bitField0_ & ~0x00000020);
              isMILOnRq_ = false;
              bitField0_ = (bitField0_ & ~0x00000040);
              oDO_ = 0;
              bitField0_ = (bitField0_ & ~0x00000080);
              avgFuelLvl_ = 0;
              bitField0_ = (bitField0_ & ~0x00000100);
              engineOilTemperature_ = 0;
              bitField0_ = (bitField0_ & ~0x00000200);
              engineCoolantTemperature_ = 0;
              bitField0_ = (bitField0_ & ~0x00000400);
              isDayLightMode_ = false;
              bitField0_ = (bitField0_ & ~0x00000800);
              isEModeSatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00001000);
              driverDoorSatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00002000);
              cmdIgnitionStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00004000);
              frontLeftHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00008000);
              autoDfgStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00010000);
              fTFOGRQ_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00020000);
              isACClutchEngaged_ = false;
              bitField0_ = (bitField0_ & ~0x00040000);
              vehPerfAccelX_ = 0F;
              bitField0_ = (bitField0_ & ~0x00080000);
              vehPerfAccelY_ = 0F;
              bitField0_ = (bitField0_ & ~0x00100000);
              frontRightHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00200000);
              spStSwStat_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00400000);
              essEngineStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00800000);
              ambientTemperatureAvg_ = 0;
              bitField0_ = (bitField0_ & ~0x01000000);
              if (tirePressureBuilder_ == null) {
                tirePressure_ = null;
              } else {
                tirePressureBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x02000000);
              mzrModeAct_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x04000000);
              dpfDefWarningStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x08000000);
              absLampStatus_ = 0;
              bitField0_ = (bitField0_ & ~0x10000000);
              brkIndLmpOnRqESC_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x20000000);
              isCheckFuelCap_ = false;
              bitField0_ = (bitField0_ & ~0x40000000);
              etcLmpIndSts_ = 0;
              bitField0_ = (bitField0_ & ~0x80000000);
              oilPressure_ = 0;
              bitField1_ = (bitField1_ & ~0x00000001);
              txTempExcess_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x00000002);
              srsIndLmpSts_ = 0;
              bitField1_ = (bitField1_ & ~0x00000004);
              isBrakeFluidLow_ = false;
              bitField1_ = (bitField1_ & ~0x00000008);
              isEngineOilLampOn_ = false;
              bitField1_ = (bitField1_ & ~0x00000010);
              oilTempIndicatorRq_ = 0;
              bitField1_ = (bitField1_ & ~0x00000020);
              engineTrqRqEsc_ = 0;
              bitField1_ = (bitField1_ & ~0x00000040);
              engineLoad_ = 0;
              bitField1_ = (bitField1_ & ~0x00000080);
              iBSTBATT_ = 0;
              bitField1_ = (bitField1_ & ~0x00000100);
              iBSVBATT_ = 0F;
              bitField1_ = (bitField1_ & ~0x00000200);
              iBSSOC_ = 0F;
              bitField1_ = (bitField1_ & ~0x00000400);
              batterySTCrit_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x00000800);
              boostPressureIndication_ = 0;
              bitField1_ = (bitField1_ & ~0x00001000);
              rainSensorLevel_ = 0;
              bitField1_ = (bitField1_ & ~0x00002000);
              actlAcceleratorPedalPosition_ = 0;
              bitField1_ = (bitField1_ & ~0x00004000);
              acceleratorPedalPosition_ = 0;
              bitField1_ = (bitField1_ & ~0x00008000);
              iBSIBATT_ = 0;
              bitField1_ = (bitField1_ & ~0x00010000);
              fuelCons_ = 0;
              bitField1_ = (bitField1_ & ~0x00020000);
              engineTorqueStatic_ = 0;
              bitField1_ = (bitField1_ & ~0x00040000);
              brakeStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x00080000);
              absBrakeEvent_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x00100000);
              spStDispstat_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x00200000);
              vCASERS_ = 0;
              bitField1_ = (bitField1_ & ~0x00400000);
              drvRqShftROT_ = 0;
              bitField1_ = (bitField1_ & ~0x00800000);
              ePBHoldSts_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x01000000);
              padShft_ = 0;
              bitField1_ = (bitField1_ & ~0x02000000);
              tCaseAWDDrvMdRq_ = 0;
              bitField1_ = (bitField1_ & ~0x04000000);
              tRNSSPDMC_ = 0;
              bitField1_ = (bitField1_ & ~0x08000000);
              trnsEMCCAchvd_ = 0;
              bitField1_ = (bitField1_ & ~0x10000000);
              outputSpdPolarity_ = com.google.protobuf.ByteString.EMPTY;
              bitField1_ = (bitField1_ & ~0x20000000);
              outputSpeed_ = 0;
              bitField1_ = (bitField1_ & ~0x40000000);
              nTurb_ = 0;
              bitField1_ = (bitField1_ & ~0x80000000);
              kS_ = 0;
              bitField2_ = (bitField2_ & ~0x00000001);
              kSTOB_ = 0;
              bitField2_ = (bitField2_ & ~0x00000002);
              kSB_ = 0;
              bitField2_ = (bitField2_ & ~0x00000004);
              kOB_ = 0;
              bitField2_ = (bitField2_ & ~0x00000008);
              kGB_ = 0;
              bitField2_ = (bitField2_ & ~0x00000010);
              grTarget_ = 0;
              bitField2_ = (bitField2_ & ~0x00000020);
              gearSwitchActiveStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00000040);
              engStEnblRqTCM_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00000080);
              tXTEMP_ = 0;
              bitField2_ = (bitField2_ & ~0x00000100);
              brkPrssTMC_ = 0;
              bitField2_ = (bitField2_ & ~0x00000200);
              prplsnSysAtv_ = 0;
              bitField2_ = (bitField2_ & ~0x00000400);
              driveReady_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00000800);
              pRNDSTAT_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00001000);
              hVBatCntctrStat_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00002000);
              chargingSystemStatus_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00004000);
              chargingLevel_ = 0;
              bitField2_ = (bitField2_ & ~0x00008000);
              hVBatSOCHCP_ = 0;
              bitField2_ = (bitField2_ & ~0x00010000);
              wheelRPMRearRight_ = 0;
              bitField2_ = (bitField2_ & ~0x00020000);
              wheelRPMRearLeft_ = 0;
              bitField2_ = (bitField2_ & ~0x00040000);
              wheelRPMFrontRight_ = 0;
              bitField2_ = (bitField2_ & ~0x00080000);
              wheelRPMFrontLeft_ = 0;
              bitField2_ = (bitField2_ & ~0x00100000);
              tCASESTAT_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00200000);
              sHFTPROG_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x00400000);
              cCSetSpdDsplMPH_ = 0;
              bitField2_ = (bitField2_ & ~0x00800000);
              aCCOnOff_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x01000000);
              cRUISEEGD_ = 0;
              bitField2_ = (bitField2_ & ~0x02000000);
              trnsTrqReqSlow2_ = 0;
              bitField2_ = (bitField2_ & ~0x04000000);
              consumptionUnit_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x08000000);
              pFWStat_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x10000000);
              mapEng_ = com.google.protobuf.ByteString.EMPTY;
              bitField2_ = (bitField2_ & ~0x20000000);
              adblueFLLVL_ = 0;
              bitField2_ = (bitField2_ & ~0x40000000);
              return this;
            }

            public com.google.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor;
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getDefaultInstanceForType() {
              return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance();
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data build() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }

            public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data buildPartial() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data(this);
              int from_bitField0_ = bitField0_;
              int from_bitField1_ = bitField1_;
              int from_bitField2_ = bitField2_;
              int to_bitField0_ = 0;
              int to_bitField1_ = 0;
              int to_bitField2_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.batteryVoltage_ = batteryVoltage_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.engineRPM_ = engineRPM_;
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              result.vehicleSpeed_ = vehicleSpeed_;
              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
                to_bitField0_ |= 0x00000008;
              }
              result.ignitionOffTimeLong_ = ignitionOffTimeLong_;
              if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
                to_bitField0_ |= 0x00000010;
              }
              result.instantFuelEconomy_ = instantFuelEconomy_;
              if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
                to_bitField0_ |= 0x00000020;
              }
              result.gr_ = gr_;
              if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
                to_bitField0_ |= 0x00000040;
              }
              result.isMILOnRq_ = isMILOnRq_;
              if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
                to_bitField0_ |= 0x00000080;
              }
              result.oDO_ = oDO_;
              if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
                to_bitField0_ |= 0x00000100;
              }
              result.avgFuelLvl_ = avgFuelLvl_;
              if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
                to_bitField0_ |= 0x00000200;
              }
              result.engineOilTemperature_ = engineOilTemperature_;
              if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
                to_bitField0_ |= 0x00000400;
              }
              result.engineCoolantTemperature_ = engineCoolantTemperature_;
              if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
                to_bitField0_ |= 0x00000800;
              }
              result.isDayLightMode_ = isDayLightMode_;
              if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
                to_bitField0_ |= 0x00001000;
              }
              result.isEModeSatus_ = isEModeSatus_;
              if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
                to_bitField0_ |= 0x00002000;
              }
              result.driverDoorSatus_ = driverDoorSatus_;
              if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
                to_bitField0_ |= 0x00004000;
              }
              result.cmdIgnitionStatus_ = cmdIgnitionStatus_;
              if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
                to_bitField0_ |= 0x00008000;
              }
              result.frontLeftHeatedSeatStatus_ = frontLeftHeatedSeatStatus_;
              if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
                to_bitField0_ |= 0x00010000;
              }
              result.autoDfgStatus_ = autoDfgStatus_;
              if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
                to_bitField0_ |= 0x00020000;
              }
              result.fTFOGRQ_ = fTFOGRQ_;
              if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
                to_bitField0_ |= 0x00040000;
              }
              result.isACClutchEngaged_ = isACClutchEngaged_;
              if (((from_bitField0_ & 0x00080000) == 0x00080000)) {
                to_bitField0_ |= 0x00080000;
              }
              result.vehPerfAccelX_ = vehPerfAccelX_;
              if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
                to_bitField0_ |= 0x00100000;
              }
              result.vehPerfAccelY_ = vehPerfAccelY_;
              if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
                to_bitField0_ |= 0x00200000;
              }
              result.frontRightHeatedSeatStatus_ = frontRightHeatedSeatStatus_;
              if (((from_bitField0_ & 0x00400000) == 0x00400000)) {
                to_bitField0_ |= 0x00400000;
              }
              result.spStSwStat_ = spStSwStat_;
              if (((from_bitField0_ & 0x00800000) == 0x00800000)) {
                to_bitField0_ |= 0x00800000;
              }
              result.essEngineStatus_ = essEngineStatus_;
              if (((from_bitField0_ & 0x01000000) == 0x01000000)) {
                to_bitField0_ |= 0x01000000;
              }
              result.ambientTemperatureAvg_ = ambientTemperatureAvg_;
              if (((from_bitField0_ & 0x02000000) == 0x02000000)) {
                to_bitField0_ |= 0x02000000;
              }
              if (tirePressureBuilder_ == null) {
                result.tirePressure_ = tirePressure_;
              } else {
                result.tirePressure_ = tirePressureBuilder_.build();
              }
              if (((from_bitField0_ & 0x04000000) == 0x04000000)) {
                to_bitField0_ |= 0x04000000;
              }
              result.mzrModeAct_ = mzrModeAct_;
              if (((from_bitField0_ & 0x08000000) == 0x08000000)) {
                to_bitField0_ |= 0x08000000;
              }
              result.dpfDefWarningStatus_ = dpfDefWarningStatus_;
              if (((from_bitField0_ & 0x10000000) == 0x10000000)) {
                to_bitField0_ |= 0x10000000;
              }
              result.absLampStatus_ = absLampStatus_;
              if (((from_bitField0_ & 0x20000000) == 0x20000000)) {
                to_bitField0_ |= 0x20000000;
              }
              result.brkIndLmpOnRqESC_ = brkIndLmpOnRqESC_;
              if (((from_bitField0_ & 0x40000000) == 0x40000000)) {
                to_bitField0_ |= 0x40000000;
              }
              result.isCheckFuelCap_ = isCheckFuelCap_;
              if (((from_bitField0_ & 0x80000000) == 0x80000000)) {
                to_bitField0_ |= 0x80000000;
              }
              result.etcLmpIndSts_ = etcLmpIndSts_;
              if (((from_bitField1_ & 0x00000001) == 0x00000001)) {
                to_bitField1_ |= 0x00000001;
              }
              result.oilPressure_ = oilPressure_;
              if (((from_bitField1_ & 0x00000002) == 0x00000002)) {
                to_bitField1_ |= 0x00000002;
              }
              result.txTempExcess_ = txTempExcess_;
              if (((from_bitField1_ & 0x00000004) == 0x00000004)) {
                to_bitField1_ |= 0x00000004;
              }
              result.srsIndLmpSts_ = srsIndLmpSts_;
              if (((from_bitField1_ & 0x00000008) == 0x00000008)) {
                to_bitField1_ |= 0x00000008;
              }
              result.isBrakeFluidLow_ = isBrakeFluidLow_;
              if (((from_bitField1_ & 0x00000010) == 0x00000010)) {
                to_bitField1_ |= 0x00000010;
              }
              result.isEngineOilLampOn_ = isEngineOilLampOn_;
              if (((from_bitField1_ & 0x00000020) == 0x00000020)) {
                to_bitField1_ |= 0x00000020;
              }
              result.oilTempIndicatorRq_ = oilTempIndicatorRq_;
              if (((from_bitField1_ & 0x00000040) == 0x00000040)) {
                to_bitField1_ |= 0x00000040;
              }
              result.engineTrqRqEsc_ = engineTrqRqEsc_;
              if (((from_bitField1_ & 0x00000080) == 0x00000080)) {
                to_bitField1_ |= 0x00000080;
              }
              result.engineLoad_ = engineLoad_;
              if (((from_bitField1_ & 0x00000100) == 0x00000100)) {
                to_bitField1_ |= 0x00000100;
              }
              result.iBSTBATT_ = iBSTBATT_;
              if (((from_bitField1_ & 0x00000200) == 0x00000200)) {
                to_bitField1_ |= 0x00000200;
              }
              result.iBSVBATT_ = iBSVBATT_;
              if (((from_bitField1_ & 0x00000400) == 0x00000400)) {
                to_bitField1_ |= 0x00000400;
              }
              result.iBSSOC_ = iBSSOC_;
              if (((from_bitField1_ & 0x00000800) == 0x00000800)) {
                to_bitField1_ |= 0x00000800;
              }
              result.batterySTCrit_ = batterySTCrit_;
              if (((from_bitField1_ & 0x00001000) == 0x00001000)) {
                to_bitField1_ |= 0x00001000;
              }
              result.boostPressureIndication_ = boostPressureIndication_;
              if (((from_bitField1_ & 0x00002000) == 0x00002000)) {
                to_bitField1_ |= 0x00002000;
              }
              result.rainSensorLevel_ = rainSensorLevel_;
              if (((from_bitField1_ & 0x00004000) == 0x00004000)) {
                to_bitField1_ |= 0x00004000;
              }
              result.actlAcceleratorPedalPosition_ = actlAcceleratorPedalPosition_;
              if (((from_bitField1_ & 0x00008000) == 0x00008000)) {
                to_bitField1_ |= 0x00008000;
              }
              result.acceleratorPedalPosition_ = acceleratorPedalPosition_;
              if (((from_bitField1_ & 0x00010000) == 0x00010000)) {
                to_bitField1_ |= 0x00010000;
              }
              result.iBSIBATT_ = iBSIBATT_;
              if (((from_bitField1_ & 0x00020000) == 0x00020000)) {
                to_bitField1_ |= 0x00020000;
              }
              result.fuelCons_ = fuelCons_;
              if (((from_bitField1_ & 0x00040000) == 0x00040000)) {
                to_bitField1_ |= 0x00040000;
              }
              result.engineTorqueStatic_ = engineTorqueStatic_;
              if (((from_bitField1_ & 0x00080000) == 0x00080000)) {
                to_bitField1_ |= 0x00080000;
              }
              result.brakeStatus_ = brakeStatus_;
              if (((from_bitField1_ & 0x00100000) == 0x00100000)) {
                to_bitField1_ |= 0x00100000;
              }
              result.absBrakeEvent_ = absBrakeEvent_;
              if (((from_bitField1_ & 0x00200000) == 0x00200000)) {
                to_bitField1_ |= 0x00200000;
              }
              result.spStDispstat_ = spStDispstat_;
              if (((from_bitField1_ & 0x00400000) == 0x00400000)) {
                to_bitField1_ |= 0x00400000;
              }
              result.vCASERS_ = vCASERS_;
              if (((from_bitField1_ & 0x00800000) == 0x00800000)) {
                to_bitField1_ |= 0x00800000;
              }
              result.drvRqShftROT_ = drvRqShftROT_;
              if (((from_bitField1_ & 0x01000000) == 0x01000000)) {
                to_bitField1_ |= 0x01000000;
              }
              result.ePBHoldSts_ = ePBHoldSts_;
              if (((from_bitField1_ & 0x02000000) == 0x02000000)) {
                to_bitField1_ |= 0x02000000;
              }
              result.padShft_ = padShft_;
              if (((from_bitField1_ & 0x04000000) == 0x04000000)) {
                to_bitField1_ |= 0x04000000;
              }
              result.tCaseAWDDrvMdRq_ = tCaseAWDDrvMdRq_;
              if (((from_bitField1_ & 0x08000000) == 0x08000000)) {
                to_bitField1_ |= 0x08000000;
              }
              result.tRNSSPDMC_ = tRNSSPDMC_;
              if (((from_bitField1_ & 0x10000000) == 0x10000000)) {
                to_bitField1_ |= 0x10000000;
              }
              result.trnsEMCCAchvd_ = trnsEMCCAchvd_;
              if (((from_bitField1_ & 0x20000000) == 0x20000000)) {
                to_bitField1_ |= 0x20000000;
              }
              result.outputSpdPolarity_ = outputSpdPolarity_;
              if (((from_bitField1_ & 0x40000000) == 0x40000000)) {
                to_bitField1_ |= 0x40000000;
              }
              result.outputSpeed_ = outputSpeed_;
              if (((from_bitField1_ & 0x80000000) == 0x80000000)) {
                to_bitField1_ |= 0x80000000;
              }
              result.nTurb_ = nTurb_;
              if (((from_bitField2_ & 0x00000001) == 0x00000001)) {
                to_bitField2_ |= 0x00000001;
              }
              result.kS_ = kS_;
              if (((from_bitField2_ & 0x00000002) == 0x00000002)) {
                to_bitField2_ |= 0x00000002;
              }
              result.kSTOB_ = kSTOB_;
              if (((from_bitField2_ & 0x00000004) == 0x00000004)) {
                to_bitField2_ |= 0x00000004;
              }
              result.kSB_ = kSB_;
              if (((from_bitField2_ & 0x00000008) == 0x00000008)) {
                to_bitField2_ |= 0x00000008;
              }
              result.kOB_ = kOB_;
              if (((from_bitField2_ & 0x00000010) == 0x00000010)) {
                to_bitField2_ |= 0x00000010;
              }
              result.kGB_ = kGB_;
              if (((from_bitField2_ & 0x00000020) == 0x00000020)) {
                to_bitField2_ |= 0x00000020;
              }
              result.grTarget_ = grTarget_;
              if (((from_bitField2_ & 0x00000040) == 0x00000040)) {
                to_bitField2_ |= 0x00000040;
              }
              result.gearSwitchActiveStatus_ = gearSwitchActiveStatus_;
              if (((from_bitField2_ & 0x00000080) == 0x00000080)) {
                to_bitField2_ |= 0x00000080;
              }
              result.engStEnblRqTCM_ = engStEnblRqTCM_;
              if (((from_bitField2_ & 0x00000100) == 0x00000100)) {
                to_bitField2_ |= 0x00000100;
              }
              result.tXTEMP_ = tXTEMP_;
              if (((from_bitField2_ & 0x00000200) == 0x00000200)) {
                to_bitField2_ |= 0x00000200;
              }
              result.brkPrssTMC_ = brkPrssTMC_;
              if (((from_bitField2_ & 0x00000400) == 0x00000400)) {
                to_bitField2_ |= 0x00000400;
              }
              result.prplsnSysAtv_ = prplsnSysAtv_;
              if (((from_bitField2_ & 0x00000800) == 0x00000800)) {
                to_bitField2_ |= 0x00000800;
              }
              result.driveReady_ = driveReady_;
              if (((from_bitField2_ & 0x00001000) == 0x00001000)) {
                to_bitField2_ |= 0x00001000;
              }
              result.pRNDSTAT_ = pRNDSTAT_;
              if (((from_bitField2_ & 0x00002000) == 0x00002000)) {
                to_bitField2_ |= 0x00002000;
              }
              result.hVBatCntctrStat_ = hVBatCntctrStat_;
              if (((from_bitField2_ & 0x00004000) == 0x00004000)) {
                to_bitField2_ |= 0x00004000;
              }
              result.chargingSystemStatus_ = chargingSystemStatus_;
              if (((from_bitField2_ & 0x00008000) == 0x00008000)) {
                to_bitField2_ |= 0x00008000;
              }
              result.chargingLevel_ = chargingLevel_;
              if (((from_bitField2_ & 0x00010000) == 0x00010000)) {
                to_bitField2_ |= 0x00010000;
              }
              result.hVBatSOCHCP_ = hVBatSOCHCP_;
              if (((from_bitField2_ & 0x00020000) == 0x00020000)) {
                to_bitField2_ |= 0x00020000;
              }
              result.wheelRPMRearRight_ = wheelRPMRearRight_;
              if (((from_bitField2_ & 0x00040000) == 0x00040000)) {
                to_bitField2_ |= 0x00040000;
              }
              result.wheelRPMRearLeft_ = wheelRPMRearLeft_;
              if (((from_bitField2_ & 0x00080000) == 0x00080000)) {
                to_bitField2_ |= 0x00080000;
              }
              result.wheelRPMFrontRight_ = wheelRPMFrontRight_;
              if (((from_bitField2_ & 0x00100000) == 0x00100000)) {
                to_bitField2_ |= 0x00100000;
              }
              result.wheelRPMFrontLeft_ = wheelRPMFrontLeft_;
              if (((from_bitField2_ & 0x00200000) == 0x00200000)) {
                to_bitField2_ |= 0x00200000;
              }
              result.tCASESTAT_ = tCASESTAT_;
              if (((from_bitField2_ & 0x00400000) == 0x00400000)) {
                to_bitField2_ |= 0x00400000;
              }
              result.sHFTPROG_ = sHFTPROG_;
              if (((from_bitField2_ & 0x00800000) == 0x00800000)) {
                to_bitField2_ |= 0x00800000;
              }
              result.cCSetSpdDsplMPH_ = cCSetSpdDsplMPH_;
              if (((from_bitField2_ & 0x01000000) == 0x01000000)) {
                to_bitField2_ |= 0x01000000;
              }
              result.aCCOnOff_ = aCCOnOff_;
              if (((from_bitField2_ & 0x02000000) == 0x02000000)) {
                to_bitField2_ |= 0x02000000;
              }
              result.cRUISEEGD_ = cRUISEEGD_;
              if (((from_bitField2_ & 0x04000000) == 0x04000000)) {
                to_bitField2_ |= 0x04000000;
              }
              result.trnsTrqReqSlow2_ = trnsTrqReqSlow2_;
              if (((from_bitField2_ & 0x08000000) == 0x08000000)) {
                to_bitField2_ |= 0x08000000;
              }
              result.consumptionUnit_ = consumptionUnit_;
              if (((from_bitField2_ & 0x10000000) == 0x10000000)) {
                to_bitField2_ |= 0x10000000;
              }
              result.pFWStat_ = pFWStat_;
              if (((from_bitField2_ & 0x20000000) == 0x20000000)) {
                to_bitField2_ |= 0x20000000;
              }
              result.mapEng_ = mapEng_;
              if (((from_bitField2_ & 0x40000000) == 0x40000000)) {
                to_bitField2_ |= 0x40000000;
              }
              result.adblueFLLVL_ = adblueFLLVL_;
              result.bitField0_ = to_bitField0_;
              result.bitField1_ = to_bitField1_;
              result.bitField2_ = to_bitField2_;
              onBuilt();
              return result;
            }

            public Builder clone() {
              return (Builder) super.clone();
            }
            public Builder setField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                Object value) {
              return (Builder) super.setField(field, value);
            }
            public Builder clearField(
                com.google.protobuf.Descriptors.FieldDescriptor field) {
              return (Builder) super.clearField(field);
            }
            public Builder clearOneof(
                com.google.protobuf.Descriptors.OneofDescriptor oneof) {
              return (Builder) super.clearOneof(oneof);
            }
            public Builder setRepeatedField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                int index, Object value) {
              return (Builder) super.setRepeatedField(field, index, value);
            }
            public Builder addRepeatedField(
                com.google.protobuf.Descriptors.FieldDescriptor field,
                Object value) {
              return (Builder) super.addRepeatedField(field, value);
            }
            public Builder mergeFrom(com.google.protobuf.Message other) {
              if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data) {
                return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }

            public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data other) {
              if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance()) return this;
              if (other.hasBatteryVoltage()) {
                setBatteryVoltage(other.getBatteryVoltage());
              }
              if (other.hasEngineRPM()) {
                setEngineRPM(other.getEngineRPM());
              }
              if (other.hasVehicleSpeed()) {
                setVehicleSpeed(other.getVehicleSpeed());
              }
              if (other.hasIgnitionOffTimeLong()) {
                setIgnitionOffTimeLong(other.getIgnitionOffTimeLong());
              }
              if (other.hasInstantFuelEconomy()) {
                setInstantFuelEconomy(other.getInstantFuelEconomy());
              }
              if (other.hasGr()) {
                setGr(other.getGr());
              }
              if (other.hasIsMILOnRq()) {
                setIsMILOnRq(other.getIsMILOnRq());
              }
              if (other.hasODO()) {
                setODO(other.getODO());
              }
              if (other.hasAvgFuelLvl()) {
                setAvgFuelLvl(other.getAvgFuelLvl());
              }
              if (other.hasEngineOilTemperature()) {
                setEngineOilTemperature(other.getEngineOilTemperature());
              }
              if (other.hasEngineCoolantTemperature()) {
                setEngineCoolantTemperature(other.getEngineCoolantTemperature());
              }
              if (other.hasIsDayLightMode()) {
                setIsDayLightMode(other.getIsDayLightMode());
              }
              if (other.hasIsEModeSatus()) {
                setIsEModeSatus(other.getIsEModeSatus());
              }
              if (other.hasDriverDoorSatus()) {
                setDriverDoorSatus(other.getDriverDoorSatus());
              }
              if (other.hasCmdIgnitionStatus()) {
                setCmdIgnitionStatus(other.getCmdIgnitionStatus());
              }
              if (other.hasFrontLeftHeatedSeatStatus()) {
                setFrontLeftHeatedSeatStatus(other.getFrontLeftHeatedSeatStatus());
              }
              if (other.hasAutoDfgStatus()) {
                setAutoDfgStatus(other.getAutoDfgStatus());
              }
              if (other.hasFTFOGRQ()) {
                setFTFOGRQ(other.getFTFOGRQ());
              }
              if (other.hasIsACClutchEngaged()) {
                setIsACClutchEngaged(other.getIsACClutchEngaged());
              }
              if (other.hasVehPerfAccelX()) {
                setVehPerfAccelX(other.getVehPerfAccelX());
              }
              if (other.hasVehPerfAccelY()) {
                setVehPerfAccelY(other.getVehPerfAccelY());
              }
              if (other.hasFrontRightHeatedSeatStatus()) {
                setFrontRightHeatedSeatStatus(other.getFrontRightHeatedSeatStatus());
              }
              if (other.hasSpStSwStat()) {
                setSpStSwStat(other.getSpStSwStat());
              }
              if (other.hasEssEngineStatus()) {
                setEssEngineStatus(other.getEssEngineStatus());
              }
              if (other.hasAmbientTemperatureAvg()) {
                setAmbientTemperatureAvg(other.getAmbientTemperatureAvg());
              }
              if (other.hasTirePressure()) {
                mergeTirePressure(other.getTirePressure());
              }
              if (other.hasMzrModeAct()) {
                setMzrModeAct(other.getMzrModeAct());
              }
              if (other.hasDpfDefWarningStatus()) {
                setDpfDefWarningStatus(other.getDpfDefWarningStatus());
              }
              if (other.hasAbsLampStatus()) {
                setAbsLampStatus(other.getAbsLampStatus());
              }
              if (other.hasBrkIndLmpOnRqESC()) {
                setBrkIndLmpOnRqESC(other.getBrkIndLmpOnRqESC());
              }
              if (other.hasIsCheckFuelCap()) {
                setIsCheckFuelCap(other.getIsCheckFuelCap());
              }
              if (other.hasEtcLmpIndSts()) {
                setEtcLmpIndSts(other.getEtcLmpIndSts());
              }
              if (other.hasOilPressure()) {
                setOilPressure(other.getOilPressure());
              }
              if (other.hasTxTempExcess()) {
                setTxTempExcess(other.getTxTempExcess());
              }
              if (other.hasSrsIndLmpSts()) {
                setSrsIndLmpSts(other.getSrsIndLmpSts());
              }
              if (other.hasIsBrakeFluidLow()) {
                setIsBrakeFluidLow(other.getIsBrakeFluidLow());
              }
              if (other.hasIsEngineOilLampOn()) {
                setIsEngineOilLampOn(other.getIsEngineOilLampOn());
              }
              if (other.hasOilTempIndicatorRq()) {
                setOilTempIndicatorRq(other.getOilTempIndicatorRq());
              }
              if (other.hasEngineTrqRqEsc()) {
                setEngineTrqRqEsc(other.getEngineTrqRqEsc());
              }
              if (other.hasEngineLoad()) {
                setEngineLoad(other.getEngineLoad());
              }
              if (other.hasIBSTBATT()) {
                setIBSTBATT(other.getIBSTBATT());
              }
              if (other.hasIBSVBATT()) {
                setIBSVBATT(other.getIBSVBATT());
              }
              if (other.hasIBSSOC()) {
                setIBSSOC(other.getIBSSOC());
              }
              if (other.hasBatterySTCrit()) {
                setBatterySTCrit(other.getBatterySTCrit());
              }
              if (other.hasBoostPressureIndication()) {
                setBoostPressureIndication(other.getBoostPressureIndication());
              }
              if (other.hasRainSensorLevel()) {
                setRainSensorLevel(other.getRainSensorLevel());
              }
              if (other.hasActlAcceleratorPedalPosition()) {
                setActlAcceleratorPedalPosition(other.getActlAcceleratorPedalPosition());
              }
              if (other.hasAcceleratorPedalPosition()) {
                setAcceleratorPedalPosition(other.getAcceleratorPedalPosition());
              }
              if (other.hasIBSIBATT()) {
                setIBSIBATT(other.getIBSIBATT());
              }
              if (other.hasFuelCons()) {
                setFuelCons(other.getFuelCons());
              }
              if (other.hasEngineTorqueStatic()) {
                setEngineTorqueStatic(other.getEngineTorqueStatic());
              }
              if (other.hasBrakeStatus()) {
                setBrakeStatus(other.getBrakeStatus());
              }
              if (other.hasAbsBrakeEvent()) {
                setAbsBrakeEvent(other.getAbsBrakeEvent());
              }
              if (other.hasSpStDispstat()) {
                setSpStDispstat(other.getSpStDispstat());
              }
              if (other.hasVCASERS()) {
                setVCASERS(other.getVCASERS());
              }
              if (other.hasDrvRqShftROT()) {
                setDrvRqShftROT(other.getDrvRqShftROT());
              }
              if (other.hasEPBHoldSts()) {
                setEPBHoldSts(other.getEPBHoldSts());
              }
              if (other.hasPadShft()) {
                setPadShft(other.getPadShft());
              }
              if (other.hasTCaseAWDDrvMdRq()) {
                setTCaseAWDDrvMdRq(other.getTCaseAWDDrvMdRq());
              }
              if (other.hasTRNSSPDMC()) {
                setTRNSSPDMC(other.getTRNSSPDMC());
              }
              if (other.hasTrnsEMCCAchvd()) {
                setTrnsEMCCAchvd(other.getTrnsEMCCAchvd());
              }
              if (other.hasOutputSpdPolarity()) {
                setOutputSpdPolarity(other.getOutputSpdPolarity());
              }
              if (other.hasOutputSpeed()) {
                setOutputSpeed(other.getOutputSpeed());
              }
              if (other.hasNTurb()) {
                setNTurb(other.getNTurb());
              }
              if (other.hasKS()) {
                setKS(other.getKS());
              }
              if (other.hasKSTOB()) {
                setKSTOB(other.getKSTOB());
              }
              if (other.hasKSB()) {
                setKSB(other.getKSB());
              }
              if (other.hasKOB()) {
                setKOB(other.getKOB());
              }
              if (other.hasKGB()) {
                setKGB(other.getKGB());
              }
              if (other.hasGrTarget()) {
                setGrTarget(other.getGrTarget());
              }
              if (other.hasGearSwitchActiveStatus()) {
                setGearSwitchActiveStatus(other.getGearSwitchActiveStatus());
              }
              if (other.hasEngStEnblRqTCM()) {
                setEngStEnblRqTCM(other.getEngStEnblRqTCM());
              }
              if (other.hasTXTEMP()) {
                setTXTEMP(other.getTXTEMP());
              }
              if (other.hasBrkPrssTMC()) {
                setBrkPrssTMC(other.getBrkPrssTMC());
              }
              if (other.hasPrplsnSysAtv()) {
                setPrplsnSysAtv(other.getPrplsnSysAtv());
              }
              if (other.hasDriveReady()) {
                setDriveReady(other.getDriveReady());
              }
              if (other.hasPRNDSTAT()) {
                setPRNDSTAT(other.getPRNDSTAT());
              }
              if (other.hasHVBatCntctrStat()) {
                setHVBatCntctrStat(other.getHVBatCntctrStat());
              }
              if (other.hasChargingSystemStatus()) {
                setChargingSystemStatus(other.getChargingSystemStatus());
              }
              if (other.hasChargingLevel()) {
                setChargingLevel(other.getChargingLevel());
              }
              if (other.hasHVBatSOCHCP()) {
                setHVBatSOCHCP(other.getHVBatSOCHCP());
              }
              if (other.hasWheelRPMRearRight()) {
                setWheelRPMRearRight(other.getWheelRPMRearRight());
              }
              if (other.hasWheelRPMRearLeft()) {
                setWheelRPMRearLeft(other.getWheelRPMRearLeft());
              }
              if (other.hasWheelRPMFrontRight()) {
                setWheelRPMFrontRight(other.getWheelRPMFrontRight());
              }
              if (other.hasWheelRPMFrontLeft()) {
                setWheelRPMFrontLeft(other.getWheelRPMFrontLeft());
              }
              if (other.hasTCASESTAT()) {
                setTCASESTAT(other.getTCASESTAT());
              }
              if (other.hasSHFTPROG()) {
                setSHFTPROG(other.getSHFTPROG());
              }
              if (other.hasCCSetSpdDsplMPH()) {
                setCCSetSpdDsplMPH(other.getCCSetSpdDsplMPH());
              }
              if (other.hasACCOnOff()) {
                setACCOnOff(other.getACCOnOff());
              }
              if (other.hasCRUISEEGD()) {
                setCRUISEEGD(other.getCRUISEEGD());
              }
              if (other.hasTrnsTrqReqSlow2()) {
                setTrnsTrqReqSlow2(other.getTrnsTrqReqSlow2());
              }
              if (other.hasConsumptionUnit()) {
                setConsumptionUnit(other.getConsumptionUnit());
              }
              if (other.hasPFWStat()) {
                setPFWStat(other.getPFWStat());
              }
              if (other.hasMapEng()) {
                setMapEng(other.getMapEng());
              }
              if (other.hasAdblueFLLVL()) {
                setAdblueFLLVL(other.getAdblueFLLVL());
              }
              this.mergeUnknownFields(other.unknownFields);
              onChanged();
              return this;
            }

            public final boolean isInitialized() {
              return true;
            }

            public Builder mergeFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data parsedMessage = null;
              try {
                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
              } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data) e.getUnfinishedMessage();
                throw e.unwrapIOException();
              } finally {
                if (parsedMessage != null) {
                  mergeFrom(parsedMessage);
                }
              }
              return this;
            }
            private int bitField0_;
            private int bitField1_;
            private int bitField2_;

            private float batteryVoltage_ ;
            /**
             * <code>optional float batteryVoltage = 1;</code>
             */
            public boolean hasBatteryVoltage() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional float batteryVoltage = 1;</code>
             */
            public float getBatteryVoltage() {
              return batteryVoltage_;
            }
            /**
             * <code>optional float batteryVoltage = 1;</code>
             */
            public Builder setBatteryVoltage(float value) {
              bitField0_ |= 0x00000001;
              batteryVoltage_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float batteryVoltage = 1;</code>
             */
            public Builder clearBatteryVoltage() {
              bitField0_ = (bitField0_ & ~0x00000001);
              batteryVoltage_ = 0F;
              onChanged();
              return this;
            }

            private float engineRPM_ ;
            /**
             * <code>optional float engineRPM = 2;</code>
             */
            public boolean hasEngineRPM() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional float engineRPM = 2;</code>
             */
            public float getEngineRPM() {
              return engineRPM_;
            }
            /**
             * <code>optional float engineRPM = 2;</code>
             */
            public Builder setEngineRPM(float value) {
              bitField0_ |= 0x00000002;
              engineRPM_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float engineRPM = 2;</code>
             */
            public Builder clearEngineRPM() {
              bitField0_ = (bitField0_ & ~0x00000002);
              engineRPM_ = 0F;
              onChanged();
              return this;
            }

            private float vehicleSpeed_ ;
            /**
             * <code>optional float vehicleSpeed = 3;</code>
             */
            public boolean hasVehicleSpeed() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional float vehicleSpeed = 3;</code>
             */
            public float getVehicleSpeed() {
              return vehicleSpeed_;
            }
            /**
             * <code>optional float vehicleSpeed = 3;</code>
             */
            public Builder setVehicleSpeed(float value) {
              bitField0_ |= 0x00000004;
              vehicleSpeed_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float vehicleSpeed = 3;</code>
             */
            public Builder clearVehicleSpeed() {
              bitField0_ = (bitField0_ & ~0x00000004);
              vehicleSpeed_ = 0F;
              onChanged();
              return this;
            }

            private int ignitionOffTimeLong_ ;
            /**
             * <code>optional int32 ignitionOffTimeLong = 4;</code>
             */
            public boolean hasIgnitionOffTimeLong() {
              return ((bitField0_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional int32 ignitionOffTimeLong = 4;</code>
             */
            public int getIgnitionOffTimeLong() {
              return ignitionOffTimeLong_;
            }
            /**
             * <code>optional int32 ignitionOffTimeLong = 4;</code>
             */
            public Builder setIgnitionOffTimeLong(int value) {
              bitField0_ |= 0x00000008;
              ignitionOffTimeLong_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 ignitionOffTimeLong = 4;</code>
             */
            public Builder clearIgnitionOffTimeLong() {
              bitField0_ = (bitField0_ & ~0x00000008);
              ignitionOffTimeLong_ = 0;
              onChanged();
              return this;
            }

            private int instantFuelEconomy_ ;
            /**
             * <code>optional int32 instantFuelEconomy = 5;</code>
             */
            public boolean hasInstantFuelEconomy() {
              return ((bitField0_ & 0x00000010) == 0x00000010);
            }
            /**
             * <code>optional int32 instantFuelEconomy = 5;</code>
             */
            public int getInstantFuelEconomy() {
              return instantFuelEconomy_;
            }
            /**
             * <code>optional int32 instantFuelEconomy = 5;</code>
             */
            public Builder setInstantFuelEconomy(int value) {
              bitField0_ |= 0x00000010;
              instantFuelEconomy_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 instantFuelEconomy = 5;</code>
             */
            public Builder clearInstantFuelEconomy() {
              bitField0_ = (bitField0_ & ~0x00000010);
              instantFuelEconomy_ = 0;
              onChanged();
              return this;
            }

            private int gr_ ;
            /**
             * <code>optional int32 Gr = 6;</code>
             */
            public boolean hasGr() {
              return ((bitField0_ & 0x00000020) == 0x00000020);
            }
            /**
             * <code>optional int32 Gr = 6;</code>
             */
            public int getGr() {
              return gr_;
            }
            /**
             * <code>optional int32 Gr = 6;</code>
             */
            public Builder setGr(int value) {
              bitField0_ |= 0x00000020;
              gr_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 Gr = 6;</code>
             */
            public Builder clearGr() {
              bitField0_ = (bitField0_ & ~0x00000020);
              gr_ = 0;
              onChanged();
              return this;
            }

            private boolean isMILOnRq_ ;
            /**
             * <code>optional bool isMILOnRq = 7;</code>
             */
            public boolean hasIsMILOnRq() {
              return ((bitField0_ & 0x00000040) == 0x00000040);
            }
            /**
             * <code>optional bool isMILOnRq = 7;</code>
             */
            public boolean getIsMILOnRq() {
              return isMILOnRq_;
            }
            /**
             * <code>optional bool isMILOnRq = 7;</code>
             */
            public Builder setIsMILOnRq(boolean value) {
              bitField0_ |= 0x00000040;
              isMILOnRq_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isMILOnRq = 7;</code>
             */
            public Builder clearIsMILOnRq() {
              bitField0_ = (bitField0_ & ~0x00000040);
              isMILOnRq_ = false;
              onChanged();
              return this;
            }

            private int oDO_ ;
            /**
             * <code>optional int32 ODO = 8;</code>
             */
            public boolean hasODO() {
              return ((bitField0_ & 0x00000080) == 0x00000080);
            }
            /**
             * <code>optional int32 ODO = 8;</code>
             */
            public int getODO() {
              return oDO_;
            }
            /**
             * <code>optional int32 ODO = 8;</code>
             */
            public Builder setODO(int value) {
              bitField0_ |= 0x00000080;
              oDO_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 ODO = 8;</code>
             */
            public Builder clearODO() {
              bitField0_ = (bitField0_ & ~0x00000080);
              oDO_ = 0;
              onChanged();
              return this;
            }

            private int avgFuelLvl_ ;
            /**
             * <code>optional int32 avgFuelLvl = 9;</code>
             */
            public boolean hasAvgFuelLvl() {
              return ((bitField0_ & 0x00000100) == 0x00000100);
            }
            /**
             * <code>optional int32 avgFuelLvl = 9;</code>
             */
            public int getAvgFuelLvl() {
              return avgFuelLvl_;
            }
            /**
             * <code>optional int32 avgFuelLvl = 9;</code>
             */
            public Builder setAvgFuelLvl(int value) {
              bitField0_ |= 0x00000100;
              avgFuelLvl_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 avgFuelLvl = 9;</code>
             */
            public Builder clearAvgFuelLvl() {
              bitField0_ = (bitField0_ & ~0x00000100);
              avgFuelLvl_ = 0;
              onChanged();
              return this;
            }

            private int engineOilTemperature_ ;
            /**
             * <code>optional int32 engineOilTemperature = 10;</code>
             */
            public boolean hasEngineOilTemperature() {
              return ((bitField0_ & 0x00000200) == 0x00000200);
            }
            /**
             * <code>optional int32 engineOilTemperature = 10;</code>
             */
            public int getEngineOilTemperature() {
              return engineOilTemperature_;
            }
            /**
             * <code>optional int32 engineOilTemperature = 10;</code>
             */
            public Builder setEngineOilTemperature(int value) {
              bitField0_ |= 0x00000200;
              engineOilTemperature_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 engineOilTemperature = 10;</code>
             */
            public Builder clearEngineOilTemperature() {
              bitField0_ = (bitField0_ & ~0x00000200);
              engineOilTemperature_ = 0;
              onChanged();
              return this;
            }

            private int engineCoolantTemperature_ ;
            /**
             * <code>optional int32 engineCoolantTemperature = 11;</code>
             */
            public boolean hasEngineCoolantTemperature() {
              return ((bitField0_ & 0x00000400) == 0x00000400);
            }
            /**
             * <code>optional int32 engineCoolantTemperature = 11;</code>
             */
            public int getEngineCoolantTemperature() {
              return engineCoolantTemperature_;
            }
            /**
             * <code>optional int32 engineCoolantTemperature = 11;</code>
             */
            public Builder setEngineCoolantTemperature(int value) {
              bitField0_ |= 0x00000400;
              engineCoolantTemperature_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 engineCoolantTemperature = 11;</code>
             */
            public Builder clearEngineCoolantTemperature() {
              bitField0_ = (bitField0_ & ~0x00000400);
              engineCoolantTemperature_ = 0;
              onChanged();
              return this;
            }

            private boolean isDayLightMode_ ;
            /**
             * <code>optional bool isDayLightMode = 12;</code>
             */
            public boolean hasIsDayLightMode() {
              return ((bitField0_ & 0x00000800) == 0x00000800);
            }
            /**
             * <code>optional bool isDayLightMode = 12;</code>
             */
            public boolean getIsDayLightMode() {
              return isDayLightMode_;
            }
            /**
             * <code>optional bool isDayLightMode = 12;</code>
             */
            public Builder setIsDayLightMode(boolean value) {
              bitField0_ |= 0x00000800;
              isDayLightMode_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isDayLightMode = 12;</code>
             */
            public Builder clearIsDayLightMode() {
              bitField0_ = (bitField0_ & ~0x00000800);
              isDayLightMode_ = false;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString isEModeSatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes isEModeSatus = 13;</code>
             */
            public boolean hasIsEModeSatus() {
              return ((bitField0_ & 0x00001000) == 0x00001000);
            }
            /**
             * <code>optional bytes isEModeSatus = 13;</code>
             */
            public com.google.protobuf.ByteString getIsEModeSatus() {
              return isEModeSatus_;
            }
            /**
             * <code>optional bytes isEModeSatus = 13;</code>
             */
            public Builder setIsEModeSatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
              isEModeSatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes isEModeSatus = 13;</code>
             */
            public Builder clearIsEModeSatus() {
              bitField0_ = (bitField0_ & ~0x00001000);
              isEModeSatus_ = getDefaultInstance().getIsEModeSatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString driverDoorSatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes driverDoorSatus = 14;</code>
             */
            public boolean hasDriverDoorSatus() {
              return ((bitField0_ & 0x00002000) == 0x00002000);
            }
            /**
             * <code>optional bytes driverDoorSatus = 14;</code>
             */
            public com.google.protobuf.ByteString getDriverDoorSatus() {
              return driverDoorSatus_;
            }
            /**
             * <code>optional bytes driverDoorSatus = 14;</code>
             */
            public Builder setDriverDoorSatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
              driverDoorSatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes driverDoorSatus = 14;</code>
             */
            public Builder clearDriverDoorSatus() {
              bitField0_ = (bitField0_ & ~0x00002000);
              driverDoorSatus_ = getDefaultInstance().getDriverDoorSatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString cmdIgnitionStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes CmdIgnitionStatus = 15;</code>
             */
            public boolean hasCmdIgnitionStatus() {
              return ((bitField0_ & 0x00004000) == 0x00004000);
            }
            /**
             * <code>optional bytes CmdIgnitionStatus = 15;</code>
             */
            public com.google.protobuf.ByteString getCmdIgnitionStatus() {
              return cmdIgnitionStatus_;
            }
            /**
             * <code>optional bytes CmdIgnitionStatus = 15;</code>
             */
            public Builder setCmdIgnitionStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
              cmdIgnitionStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes CmdIgnitionStatus = 15;</code>
             */
            public Builder clearCmdIgnitionStatus() {
              bitField0_ = (bitField0_ & ~0x00004000);
              cmdIgnitionStatus_ = getDefaultInstance().getCmdIgnitionStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString frontLeftHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
             */
            public boolean hasFrontLeftHeatedSeatStatus() {
              return ((bitField0_ & 0x00008000) == 0x00008000);
            }
            /**
             * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
             */
            public com.google.protobuf.ByteString getFrontLeftHeatedSeatStatus() {
              return frontLeftHeatedSeatStatus_;
            }
            /**
             * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
             */
            public Builder setFrontLeftHeatedSeatStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
              frontLeftHeatedSeatStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes frontLeftHeatedSeatStatus = 16;</code>
             */
            public Builder clearFrontLeftHeatedSeatStatus() {
              bitField0_ = (bitField0_ & ~0x00008000);
              frontLeftHeatedSeatStatus_ = getDefaultInstance().getFrontLeftHeatedSeatStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString autoDfgStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes autoDfgStatus = 17;</code>
             */
            public boolean hasAutoDfgStatus() {
              return ((bitField0_ & 0x00010000) == 0x00010000);
            }
            /**
             * <code>optional bytes autoDfgStatus = 17;</code>
             */
            public com.google.protobuf.ByteString getAutoDfgStatus() {
              return autoDfgStatus_;
            }
            /**
             * <code>optional bytes autoDfgStatus = 17;</code>
             */
            public Builder setAutoDfgStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
              autoDfgStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes autoDfgStatus = 17;</code>
             */
            public Builder clearAutoDfgStatus() {
              bitField0_ = (bitField0_ & ~0x00010000);
              autoDfgStatus_ = getDefaultInstance().getAutoDfgStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString fTFOGRQ_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes FT_FOG_RQ = 18;</code>
             */
            public boolean hasFTFOGRQ() {
              return ((bitField0_ & 0x00020000) == 0x00020000);
            }
            /**
             * <code>optional bytes FT_FOG_RQ = 18;</code>
             */
            public com.google.protobuf.ByteString getFTFOGRQ() {
              return fTFOGRQ_;
            }
            /**
             * <code>optional bytes FT_FOG_RQ = 18;</code>
             */
            public Builder setFTFOGRQ(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00020000;
              fTFOGRQ_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes FT_FOG_RQ = 18;</code>
             */
            public Builder clearFTFOGRQ() {
              bitField0_ = (bitField0_ & ~0x00020000);
              fTFOGRQ_ = getDefaultInstance().getFTFOGRQ();
              onChanged();
              return this;
            }

            private boolean isACClutchEngaged_ ;
            /**
             * <code>optional bool isACClutchEngaged = 19;</code>
             */
            public boolean hasIsACClutchEngaged() {
              return ((bitField0_ & 0x00040000) == 0x00040000);
            }
            /**
             * <code>optional bool isACClutchEngaged = 19;</code>
             */
            public boolean getIsACClutchEngaged() {
              return isACClutchEngaged_;
            }
            /**
             * <code>optional bool isACClutchEngaged = 19;</code>
             */
            public Builder setIsACClutchEngaged(boolean value) {
              bitField0_ |= 0x00040000;
              isACClutchEngaged_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isACClutchEngaged = 19;</code>
             */
            public Builder clearIsACClutchEngaged() {
              bitField0_ = (bitField0_ & ~0x00040000);
              isACClutchEngaged_ = false;
              onChanged();
              return this;
            }

            private float vehPerfAccelX_ ;
            /**
             * <code>optional float vehPerfAccelX = 20;</code>
             */
            public boolean hasVehPerfAccelX() {
              return ((bitField0_ & 0x00080000) == 0x00080000);
            }
            /**
             * <code>optional float vehPerfAccelX = 20;</code>
             */
            public float getVehPerfAccelX() {
              return vehPerfAccelX_;
            }
            /**
             * <code>optional float vehPerfAccelX = 20;</code>
             */
            public Builder setVehPerfAccelX(float value) {
              bitField0_ |= 0x00080000;
              vehPerfAccelX_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float vehPerfAccelX = 20;</code>
             */
            public Builder clearVehPerfAccelX() {
              bitField0_ = (bitField0_ & ~0x00080000);
              vehPerfAccelX_ = 0F;
              onChanged();
              return this;
            }

            private float vehPerfAccelY_ ;
            /**
             * <code>optional float VehPerfAccelY = 21;</code>
             */
            public boolean hasVehPerfAccelY() {
              return ((bitField0_ & 0x00100000) == 0x00100000);
            }
            /**
             * <code>optional float VehPerfAccelY = 21;</code>
             */
            public float getVehPerfAccelY() {
              return vehPerfAccelY_;
            }
            /**
             * <code>optional float VehPerfAccelY = 21;</code>
             */
            public Builder setVehPerfAccelY(float value) {
              bitField0_ |= 0x00100000;
              vehPerfAccelY_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float VehPerfAccelY = 21;</code>
             */
            public Builder clearVehPerfAccelY() {
              bitField0_ = (bitField0_ & ~0x00100000);
              vehPerfAccelY_ = 0F;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString frontRightHeatedSeatStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
             */
            public boolean hasFrontRightHeatedSeatStatus() {
              return ((bitField0_ & 0x00200000) == 0x00200000);
            }
            /**
             * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
             */
            public com.google.protobuf.ByteString getFrontRightHeatedSeatStatus() {
              return frontRightHeatedSeatStatus_;
            }
            /**
             * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
             */
            public Builder setFrontRightHeatedSeatStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00200000;
              frontRightHeatedSeatStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes frontRightHeatedSeatStatus = 22;</code>
             */
            public Builder clearFrontRightHeatedSeatStatus() {
              bitField0_ = (bitField0_ & ~0x00200000);
              frontRightHeatedSeatStatus_ = getDefaultInstance().getFrontRightHeatedSeatStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString spStSwStat_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes spStSwStat = 23;</code>
             */
            public boolean hasSpStSwStat() {
              return ((bitField0_ & 0x00400000) == 0x00400000);
            }
            /**
             * <code>optional bytes spStSwStat = 23;</code>
             */
            public com.google.protobuf.ByteString getSpStSwStat() {
              return spStSwStat_;
            }
            /**
             * <code>optional bytes spStSwStat = 23;</code>
             */
            public Builder setSpStSwStat(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00400000;
              spStSwStat_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes spStSwStat = 23;</code>
             */
            public Builder clearSpStSwStat() {
              bitField0_ = (bitField0_ & ~0x00400000);
              spStSwStat_ = getDefaultInstance().getSpStSwStat();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString essEngineStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes essEngineStatus = 24;</code>
             */
            public boolean hasEssEngineStatus() {
              return ((bitField0_ & 0x00800000) == 0x00800000);
            }
            /**
             * <code>optional bytes essEngineStatus = 24;</code>
             */
            public com.google.protobuf.ByteString getEssEngineStatus() {
              return essEngineStatus_;
            }
            /**
             * <code>optional bytes essEngineStatus = 24;</code>
             */
            public Builder setEssEngineStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00800000;
              essEngineStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes essEngineStatus = 24;</code>
             */
            public Builder clearEssEngineStatus() {
              bitField0_ = (bitField0_ & ~0x00800000);
              essEngineStatus_ = getDefaultInstance().getEssEngineStatus();
              onChanged();
              return this;
            }

            private int ambientTemperatureAvg_ ;
            /**
             * <pre>
             *&#47; Temperature in F.
             * </pre>
             *
             * <code>optional int32 ambientTemperatureAvg = 25;</code>
             */
            public boolean hasAmbientTemperatureAvg() {
              return ((bitField0_ & 0x01000000) == 0x01000000);
            }
            /**
             * <pre>
             *&#47; Temperature in F.
             * </pre>
             *
             * <code>optional int32 ambientTemperatureAvg = 25;</code>
             */
            public int getAmbientTemperatureAvg() {
              return ambientTemperatureAvg_;
            }
            /**
             * <pre>
             *&#47; Temperature in F.
             * </pre>
             *
             * <code>optional int32 ambientTemperatureAvg = 25;</code>
             */
            public Builder setAmbientTemperatureAvg(int value) {
              bitField0_ |= 0x01000000;
              ambientTemperatureAvg_ = value;
              onChanged();
              return this;
            }
            /**
             * <pre>
             *&#47; Temperature in F.
             * </pre>
             *
             * <code>optional int32 ambientTemperatureAvg = 25;</code>
             */
            public Builder clearAmbientTemperatureAvg() {
              bitField0_ = (bitField0_ & ~0x01000000);
              ambientTemperatureAvg_ = 0;
              onChanged();
              return this;
            }

            private com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure tirePressure_ = null;
            private com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder> tirePressureBuilder_;
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public boolean hasTirePressure() {
              return ((bitField0_ & 0x02000000) == 0x02000000);
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure getTirePressure() {
              if (tirePressureBuilder_ == null) {
                return tirePressure_ == null ? com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
              } else {
                return tirePressureBuilder_.getMessage();
              }
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public Builder setTirePressure(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure value) {
              if (tirePressureBuilder_ == null) {
                if (value == null) {
                  throw new NullPointerException();
                }
                tirePressure_ = value;
                onChanged();
              } else {
                tirePressureBuilder_.setMessage(value);
              }
              bitField0_ |= 0x02000000;
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public Builder setTirePressure(
                com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder builderForValue) {
              if (tirePressureBuilder_ == null) {
                tirePressure_ = builderForValue.build();
                onChanged();
              } else {
                tirePressureBuilder_.setMessage(builderForValue.build());
              }
              bitField0_ |= 0x02000000;
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public Builder mergeTirePressure(com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure value) {
              if (tirePressureBuilder_ == null) {
                if (((bitField0_ & 0x02000000) == 0x02000000) &&
                    tirePressure_ != null &&
                    tirePressure_ != com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance()) {
                  tirePressure_ =
                    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.newBuilder(tirePressure_).mergeFrom(value).buildPartial();
                } else {
                  tirePressure_ = value;
                }
                onChanged();
              } else {
                tirePressureBuilder_.mergeFrom(value);
              }
              bitField0_ |= 0x02000000;
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public Builder clearTirePressure() {
              if (tirePressureBuilder_ == null) {
                tirePressure_ = null;
                onChanged();
              } else {
                tirePressureBuilder_.clear();
              }
              bitField0_ = (bitField0_ & ~0x02000000);
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder getTirePressureBuilder() {
              bitField0_ |= 0x02000000;
              onChanged();
              return getTirePressureFieldBuilder().getBuilder();
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder getTirePressureOrBuilder() {
              if (tirePressureBuilder_ != null) {
                return tirePressureBuilder_.getMessageOrBuilder();
              } else {
                return tirePressure_ == null ?
                    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.getDefaultInstance() : tirePressure_;
              }
            }
            /**
             * <code>optional .com.fca.uconnect.global.TirePressure tirePressure = 26;</code>
             */
            private com.google.protobuf.SingleFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder> 
                getTirePressureFieldBuilder() {
              if (tirePressureBuilder_ == null) {
                tirePressureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                    com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressure.Builder, com.fca.uconnect.global.GlobalUconnectVehicleInfo.TirePressureOrBuilder>(
                        getTirePressure(),
                        getParentForChildren(),
                        isClean());
                tirePressure_ = null;
              }
              return tirePressureBuilder_;
            }

            private com.google.protobuf.ByteString mzrModeAct_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes mzrModeAct = 27;</code>
             */
            public boolean hasMzrModeAct() {
              return ((bitField0_ & 0x04000000) == 0x04000000);
            }
            /**
             * <code>optional bytes mzrModeAct = 27;</code>
             */
            public com.google.protobuf.ByteString getMzrModeAct() {
              return mzrModeAct_;
            }
            /**
             * <code>optional bytes mzrModeAct = 27;</code>
             */
            public Builder setMzrModeAct(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x04000000;
              mzrModeAct_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes mzrModeAct = 27;</code>
             */
            public Builder clearMzrModeAct() {
              bitField0_ = (bitField0_ & ~0x04000000);
              mzrModeAct_ = getDefaultInstance().getMzrModeAct();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString dpfDefWarningStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes dpfDefWarningStatus = 28;</code>
             */
            public boolean hasDpfDefWarningStatus() {
              return ((bitField0_ & 0x08000000) == 0x08000000);
            }
            /**
             * <code>optional bytes dpfDefWarningStatus = 28;</code>
             */
            public com.google.protobuf.ByteString getDpfDefWarningStatus() {
              return dpfDefWarningStatus_;
            }
            /**
             * <code>optional bytes dpfDefWarningStatus = 28;</code>
             */
            public Builder setDpfDefWarningStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x08000000;
              dpfDefWarningStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes dpfDefWarningStatus = 28;</code>
             */
            public Builder clearDpfDefWarningStatus() {
              bitField0_ = (bitField0_ & ~0x08000000);
              dpfDefWarningStatus_ = getDefaultInstance().getDpfDefWarningStatus();
              onChanged();
              return this;
            }

            private int absLampStatus_ = 0;
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
             */
            public boolean hasAbsLampStatus() {
              return ((bitField0_ & 0x10000000) == 0x10000000);
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getAbsLampStatus() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(absLampStatus_);
              return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
             */
            public Builder setAbsLampStatus(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
              if (value == null) {
                throw new NullPointerException();
              }
              bitField0_ |= 0x10000000;
              absLampStatus_ = value.getNumber();
              onChanged();
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum absLampStatus = 29;</code>
             */
            public Builder clearAbsLampStatus() {
              bitField0_ = (bitField0_ & ~0x10000000);
              absLampStatus_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString brkIndLmpOnRqESC_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
             */
            public boolean hasBrkIndLmpOnRqESC() {
              return ((bitField0_ & 0x20000000) == 0x20000000);
            }
            /**
             * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
             */
            public com.google.protobuf.ByteString getBrkIndLmpOnRqESC() {
              return brkIndLmpOnRqESC_;
            }
            /**
             * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
             */
            public Builder setBrkIndLmpOnRqESC(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x20000000;
              brkIndLmpOnRqESC_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes brkIndLmpOnRqESC = 30;</code>
             */
            public Builder clearBrkIndLmpOnRqESC() {
              bitField0_ = (bitField0_ & ~0x20000000);
              brkIndLmpOnRqESC_ = getDefaultInstance().getBrkIndLmpOnRqESC();
              onChanged();
              return this;
            }

            private boolean isCheckFuelCap_ ;
            /**
             * <code>optional bool isCheckFuelCap = 31;</code>
             */
            public boolean hasIsCheckFuelCap() {
              return ((bitField0_ & 0x40000000) == 0x40000000);
            }
            /**
             * <code>optional bool isCheckFuelCap = 31;</code>
             */
            public boolean getIsCheckFuelCap() {
              return isCheckFuelCap_;
            }
            /**
             * <code>optional bool isCheckFuelCap = 31;</code>
             */
            public Builder setIsCheckFuelCap(boolean value) {
              bitField0_ |= 0x40000000;
              isCheckFuelCap_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isCheckFuelCap = 31;</code>
             */
            public Builder clearIsCheckFuelCap() {
              bitField0_ = (bitField0_ & ~0x40000000);
              isCheckFuelCap_ = false;
              onChanged();
              return this;
            }

            private int etcLmpIndSts_ = 0;
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
             */
            public boolean hasEtcLmpIndSts() {
              return ((bitField0_ & 0x80000000) == 0x80000000);
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getEtcLmpIndSts() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(etcLmpIndSts_);
              return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
             */
            public Builder setEtcLmpIndSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
              if (value == null) {
                throw new NullPointerException();
              }
              bitField0_ |= 0x80000000;
              etcLmpIndSts_ = value.getNumber();
              onChanged();
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum etcLmpIndSts = 32;</code>
             */
            public Builder clearEtcLmpIndSts() {
              bitField0_ = (bitField0_ & ~0x80000000);
              etcLmpIndSts_ = 0;
              onChanged();
              return this;
            }

            private int oilPressure_ ;
            /**
             * <code>optional int32 oilPressure = 33;</code>
             */
            public boolean hasOilPressure() {
              return ((bitField1_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional int32 oilPressure = 33;</code>
             */
            public int getOilPressure() {
              return oilPressure_;
            }
            /**
             * <code>optional int32 oilPressure = 33;</code>
             */
            public Builder setOilPressure(int value) {
              bitField1_ |= 0x00000001;
              oilPressure_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 oilPressure = 33;</code>
             */
            public Builder clearOilPressure() {
              bitField1_ = (bitField1_ & ~0x00000001);
              oilPressure_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString txTempExcess_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes txTempExcess = 34;</code>
             */
            public boolean hasTxTempExcess() {
              return ((bitField1_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional bytes txTempExcess = 34;</code>
             */
            public com.google.protobuf.ByteString getTxTempExcess() {
              return txTempExcess_;
            }
            /**
             * <code>optional bytes txTempExcess = 34;</code>
             */
            public Builder setTxTempExcess(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000002;
              txTempExcess_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes txTempExcess = 34;</code>
             */
            public Builder clearTxTempExcess() {
              bitField1_ = (bitField1_ & ~0x00000002);
              txTempExcess_ = getDefaultInstance().getTxTempExcess();
              onChanged();
              return this;
            }

            private int srsIndLmpSts_ = 0;
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
             */
            public boolean hasSrsIndLmpSts() {
              return ((bitField1_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
             */
            public com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum getSrsIndLmpSts() {
              com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.valueOf(srsIndLmpSts_);
              return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum.ZERO : result;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
             */
            public Builder setSrsIndLmpSts(com.fca.uconnect.global.GlobalUconnectExtSQDF.VehicleData.LampStateEnum value) {
              if (value == null) {
                throw new NullPointerException();
              }
              bitField1_ |= 0x00000004;
              srsIndLmpSts_ = value.getNumber();
              onChanged();
              return this;
            }
            /**
             * <code>optional .com.fca.uconnect.global.VehicleData.LampStateEnum srsIndLmpSts = 35;</code>
             */
            public Builder clearSrsIndLmpSts() {
              bitField1_ = (bitField1_ & ~0x00000004);
              srsIndLmpSts_ = 0;
              onChanged();
              return this;
            }

            private boolean isBrakeFluidLow_ ;
            /**
             * <code>optional bool isBrakeFluidLow = 36;</code>
             */
            public boolean hasIsBrakeFluidLow() {
              return ((bitField1_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional bool isBrakeFluidLow = 36;</code>
             */
            public boolean getIsBrakeFluidLow() {
              return isBrakeFluidLow_;
            }
            /**
             * <code>optional bool isBrakeFluidLow = 36;</code>
             */
            public Builder setIsBrakeFluidLow(boolean value) {
              bitField1_ |= 0x00000008;
              isBrakeFluidLow_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isBrakeFluidLow = 36;</code>
             */
            public Builder clearIsBrakeFluidLow() {
              bitField1_ = (bitField1_ & ~0x00000008);
              isBrakeFluidLow_ = false;
              onChanged();
              return this;
            }

            private boolean isEngineOilLampOn_ ;
            /**
             * <code>optional bool isEngineOilLampOn = 37;</code>
             */
            public boolean hasIsEngineOilLampOn() {
              return ((bitField1_ & 0x00000010) == 0x00000010);
            }
            /**
             * <code>optional bool isEngineOilLampOn = 37;</code>
             */
            public boolean getIsEngineOilLampOn() {
              return isEngineOilLampOn_;
            }
            /**
             * <code>optional bool isEngineOilLampOn = 37;</code>
             */
            public Builder setIsEngineOilLampOn(boolean value) {
              bitField1_ |= 0x00000010;
              isEngineOilLampOn_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bool isEngineOilLampOn = 37;</code>
             */
            public Builder clearIsEngineOilLampOn() {
              bitField1_ = (bitField1_ & ~0x00000010);
              isEngineOilLampOn_ = false;
              onChanged();
              return this;
            }

            private int oilTempIndicatorRq_ ;
            /**
             * <code>optional int32 oilTempIndicatorRq = 38;</code>
             */
            public boolean hasOilTempIndicatorRq() {
              return ((bitField1_ & 0x00000020) == 0x00000020);
            }
            /**
             * <code>optional int32 oilTempIndicatorRq = 38;</code>
             */
            public int getOilTempIndicatorRq() {
              return oilTempIndicatorRq_;
            }
            /**
             * <code>optional int32 oilTempIndicatorRq = 38;</code>
             */
            public Builder setOilTempIndicatorRq(int value) {
              bitField1_ |= 0x00000020;
              oilTempIndicatorRq_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 oilTempIndicatorRq = 38;</code>
             */
            public Builder clearOilTempIndicatorRq() {
              bitField1_ = (bitField1_ & ~0x00000020);
              oilTempIndicatorRq_ = 0;
              onChanged();
              return this;
            }

            private int engineTrqRqEsc_ ;
            /**
             * <code>optional int32 engineTrqRqEsc = 40;</code>
             */
            public boolean hasEngineTrqRqEsc() {
              return ((bitField1_ & 0x00000040) == 0x00000040);
            }
            /**
             * <code>optional int32 engineTrqRqEsc = 40;</code>
             */
            public int getEngineTrqRqEsc() {
              return engineTrqRqEsc_;
            }
            /**
             * <code>optional int32 engineTrqRqEsc = 40;</code>
             */
            public Builder setEngineTrqRqEsc(int value) {
              bitField1_ |= 0x00000040;
              engineTrqRqEsc_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 engineTrqRqEsc = 40;</code>
             */
            public Builder clearEngineTrqRqEsc() {
              bitField1_ = (bitField1_ & ~0x00000040);
              engineTrqRqEsc_ = 0;
              onChanged();
              return this;
            }

            private int engineLoad_ ;
            /**
             * <code>optional int32 engineLoad = 41;</code>
             */
            public boolean hasEngineLoad() {
              return ((bitField1_ & 0x00000080) == 0x00000080);
            }
            /**
             * <code>optional int32 engineLoad = 41;</code>
             */
            public int getEngineLoad() {
              return engineLoad_;
            }
            /**
             * <code>optional int32 engineLoad = 41;</code>
             */
            public Builder setEngineLoad(int value) {
              bitField1_ |= 0x00000080;
              engineLoad_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 engineLoad = 41;</code>
             */
            public Builder clearEngineLoad() {
              bitField1_ = (bitField1_ & ~0x00000080);
              engineLoad_ = 0;
              onChanged();
              return this;
            }

            private int iBSTBATT_ ;
            /**
             * <pre>
             *&#47; Range -40 to 105,  255 = SNA
             * </pre>
             *
             * <code>optional sint32 IBS_T_BATT = 42;</code>
             */
            public boolean hasIBSTBATT() {
              return ((bitField1_ & 0x00000100) == 0x00000100);
            }
            /**
             * <pre>
             *&#47; Range -40 to 105,  255 = SNA
             * </pre>
             *
             * <code>optional sint32 IBS_T_BATT = 42;</code>
             */
            public int getIBSTBATT() {
              return iBSTBATT_;
            }
            /**
             * <pre>
             *&#47; Range -40 to 105,  255 = SNA
             * </pre>
             *
             * <code>optional sint32 IBS_T_BATT = 42;</code>
             */
            public Builder setIBSTBATT(int value) {
              bitField1_ |= 0x00000100;
              iBSTBATT_ = value;
              onChanged();
              return this;
            }
            /**
             * <pre>
             *&#47; Range -40 to 105,  255 = SNA
             * </pre>
             *
             * <code>optional sint32 IBS_T_BATT = 42;</code>
             */
            public Builder clearIBSTBATT() {
              bitField1_ = (bitField1_ & ~0x00000100);
              iBSTBATT_ = 0;
              onChanged();
              return this;
            }

            private float iBSVBATT_ ;
            /**
             * <pre>
             *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
             * </pre>
             *
             * <code>optional float IBS_V_BATT = 43;</code>
             */
            public boolean hasIBSVBATT() {
              return ((bitField1_ & 0x00000200) == 0x00000200);
            }
            /**
             * <pre>
             *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
             * </pre>
             *
             * <code>optional float IBS_V_BATT = 43;</code>
             */
            public float getIBSVBATT() {
              return iBSVBATT_;
            }
            /**
             * <pre>
             *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
             * </pre>
             *
             * <code>optional float IBS_V_BATT = 43;</code>
             */
            public Builder setIBSVBATT(float value) {
              bitField1_ |= 0x00000200;
              iBSVBATT_ = value;
              onChanged();
              return this;
            }
            /**
             * <pre>
             *&#47; Range 3 to 18,  resolution 0.000977    16383 = SNA 
             * </pre>
             *
             * <code>optional float IBS_V_BATT = 43;</code>
             */
            public Builder clearIBSVBATT() {
              bitField1_ = (bitField1_ & ~0x00000200);
              iBSVBATT_ = 0F;
              onChanged();
              return this;
            }

            private float iBSSOC_ ;
            /**
             * <code>optional float IBS_SOC = 44;</code>
             */
            public boolean hasIBSSOC() {
              return ((bitField1_ & 0x00000400) == 0x00000400);
            }
            /**
             * <code>optional float IBS_SOC = 44;</code>
             */
            public float getIBSSOC() {
              return iBSSOC_;
            }
            /**
             * <code>optional float IBS_SOC = 44;</code>
             */
            public Builder setIBSSOC(float value) {
              bitField1_ |= 0x00000400;
              iBSSOC_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional float IBS_SOC = 44;</code>
             */
            public Builder clearIBSSOC() {
              bitField1_ = (bitField1_ & ~0x00000400);
              iBSSOC_ = 0F;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString batterySTCrit_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes batterySTCrit = 45;</code>
             */
            public boolean hasBatterySTCrit() {
              return ((bitField1_ & 0x00000800) == 0x00000800);
            }
            /**
             * <code>optional bytes batterySTCrit = 45;</code>
             */
            public com.google.protobuf.ByteString getBatterySTCrit() {
              return batterySTCrit_;
            }
            /**
             * <code>optional bytes batterySTCrit = 45;</code>
             */
            public Builder setBatterySTCrit(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000800;
              batterySTCrit_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes batterySTCrit = 45;</code>
             */
            public Builder clearBatterySTCrit() {
              bitField1_ = (bitField1_ & ~0x00000800);
              batterySTCrit_ = getDefaultInstance().getBatterySTCrit();
              onChanged();
              return this;
            }

            private int boostPressureIndication_ ;
            /**
             * <code>optional int32 BoostPressureIndication = 46;</code>
             */
            public boolean hasBoostPressureIndication() {
              return ((bitField1_ & 0x00001000) == 0x00001000);
            }
            /**
             * <code>optional int32 BoostPressureIndication = 46;</code>
             */
            public int getBoostPressureIndication() {
              return boostPressureIndication_;
            }
            /**
             * <code>optional int32 BoostPressureIndication = 46;</code>
             */
            public Builder setBoostPressureIndication(int value) {
              bitField1_ |= 0x00001000;
              boostPressureIndication_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 BoostPressureIndication = 46;</code>
             */
            public Builder clearBoostPressureIndication() {
              bitField1_ = (bitField1_ & ~0x00001000);
              boostPressureIndication_ = 0;
              onChanged();
              return this;
            }

            private int rainSensorLevel_ ;
            /**
             * <code>optional int32 rainSensorLevel = 47;</code>
             */
            public boolean hasRainSensorLevel() {
              return ((bitField1_ & 0x00002000) == 0x00002000);
            }
            /**
             * <code>optional int32 rainSensorLevel = 47;</code>
             */
            public int getRainSensorLevel() {
              return rainSensorLevel_;
            }
            /**
             * <code>optional int32 rainSensorLevel = 47;</code>
             */
            public Builder setRainSensorLevel(int value) {
              bitField1_ |= 0x00002000;
              rainSensorLevel_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 rainSensorLevel = 47;</code>
             */
            public Builder clearRainSensorLevel() {
              bitField1_ = (bitField1_ & ~0x00002000);
              rainSensorLevel_ = 0;
              onChanged();
              return this;
            }

            private int actlAcceleratorPedalPosition_ ;
            /**
             * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
             */
            public boolean hasActlAcceleratorPedalPosition() {
              return ((bitField1_ & 0x00004000) == 0x00004000);
            }
            /**
             * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
             */
            public int getActlAcceleratorPedalPosition() {
              return actlAcceleratorPedalPosition_;
            }
            /**
             * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
             */
            public Builder setActlAcceleratorPedalPosition(int value) {
              bitField1_ |= 0x00004000;
              actlAcceleratorPedalPosition_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 actlAcceleratorPedalPosition = 48;</code>
             */
            public Builder clearActlAcceleratorPedalPosition() {
              bitField1_ = (bitField1_ & ~0x00004000);
              actlAcceleratorPedalPosition_ = 0;
              onChanged();
              return this;
            }

            private int acceleratorPedalPosition_ ;
            /**
             * <code>optional int32 acceleratorPedalPosition = 49;</code>
             */
            public boolean hasAcceleratorPedalPosition() {
              return ((bitField1_ & 0x00008000) == 0x00008000);
            }
            /**
             * <code>optional int32 acceleratorPedalPosition = 49;</code>
             */
            public int getAcceleratorPedalPosition() {
              return acceleratorPedalPosition_;
            }
            /**
             * <code>optional int32 acceleratorPedalPosition = 49;</code>
             */
            public Builder setAcceleratorPedalPosition(int value) {
              bitField1_ |= 0x00008000;
              acceleratorPedalPosition_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 acceleratorPedalPosition = 49;</code>
             */
            public Builder clearAcceleratorPedalPosition() {
              bitField1_ = (bitField1_ & ~0x00008000);
              acceleratorPedalPosition_ = 0;
              onChanged();
              return this;
            }

            private int iBSIBATT_ ;
            /**
             * <pre>
             *&#47; Range -32768 to 32766,  65535 = SNA 
             * </pre>
             *
             * <code>optional sint32 IBS_I_BATT = 50;</code>
             */
            public boolean hasIBSIBATT() {
              return ((bitField1_ & 0x00010000) == 0x00010000);
            }
            /**
             * <pre>
             *&#47; Range -32768 to 32766,  65535 = SNA 
             * </pre>
             *
             * <code>optional sint32 IBS_I_BATT = 50;</code>
             */
            public int getIBSIBATT() {
              return iBSIBATT_;
            }
            /**
             * <pre>
             *&#47; Range -32768 to 32766,  65535 = SNA 
             * </pre>
             *
             * <code>optional sint32 IBS_I_BATT = 50;</code>
             */
            public Builder setIBSIBATT(int value) {
              bitField1_ |= 0x00010000;
              iBSIBATT_ = value;
              onChanged();
              return this;
            }
            /**
             * <pre>
             *&#47; Range -32768 to 32766,  65535 = SNA 
             * </pre>
             *
             * <code>optional sint32 IBS_I_BATT = 50;</code>
             */
            public Builder clearIBSIBATT() {
              bitField1_ = (bitField1_ & ~0x00010000);
              iBSIBATT_ = 0;
              onChanged();
              return this;
            }

            private int fuelCons_ ;
            /**
             * <code>optional int32 fuelCons = 51;</code>
             */
            public boolean hasFuelCons() {
              return ((bitField1_ & 0x00020000) == 0x00020000);
            }
            /**
             * <code>optional int32 fuelCons = 51;</code>
             */
            public int getFuelCons() {
              return fuelCons_;
            }
            /**
             * <code>optional int32 fuelCons = 51;</code>
             */
            public Builder setFuelCons(int value) {
              bitField1_ |= 0x00020000;
              fuelCons_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 fuelCons = 51;</code>
             */
            public Builder clearFuelCons() {
              bitField1_ = (bitField1_ & ~0x00020000);
              fuelCons_ = 0;
              onChanged();
              return this;
            }

            private int engineTorqueStatic_ ;
            /**
             * <code>optional int32 engineTorqueStatic = 52;</code>
             */
            public boolean hasEngineTorqueStatic() {
              return ((bitField1_ & 0x00040000) == 0x00040000);
            }
            /**
             * <code>optional int32 engineTorqueStatic = 52;</code>
             */
            public int getEngineTorqueStatic() {
              return engineTorqueStatic_;
            }
            /**
             * <code>optional int32 engineTorqueStatic = 52;</code>
             */
            public Builder setEngineTorqueStatic(int value) {
              bitField1_ |= 0x00040000;
              engineTorqueStatic_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 engineTorqueStatic = 52;</code>
             */
            public Builder clearEngineTorqueStatic() {
              bitField1_ = (bitField1_ & ~0x00040000);
              engineTorqueStatic_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString brakeStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes brakeStatus = 53;</code>
             */
            public boolean hasBrakeStatus() {
              return ((bitField1_ & 0x00080000) == 0x00080000);
            }
            /**
             * <code>optional bytes brakeStatus = 53;</code>
             */
            public com.google.protobuf.ByteString getBrakeStatus() {
              return brakeStatus_;
            }
            /**
             * <code>optional bytes brakeStatus = 53;</code>
             */
            public Builder setBrakeStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00080000;
              brakeStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes brakeStatus = 53;</code>
             */
            public Builder clearBrakeStatus() {
              bitField1_ = (bitField1_ & ~0x00080000);
              brakeStatus_ = getDefaultInstance().getBrakeStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString absBrakeEvent_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes absBrakeEvent = 54;</code>
             */
            public boolean hasAbsBrakeEvent() {
              return ((bitField1_ & 0x00100000) == 0x00100000);
            }
            /**
             * <code>optional bytes absBrakeEvent = 54;</code>
             */
            public com.google.protobuf.ByteString getAbsBrakeEvent() {
              return absBrakeEvent_;
            }
            /**
             * <code>optional bytes absBrakeEvent = 54;</code>
             */
            public Builder setAbsBrakeEvent(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00100000;
              absBrakeEvent_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes absBrakeEvent = 54;</code>
             */
            public Builder clearAbsBrakeEvent() {
              bitField1_ = (bitField1_ & ~0x00100000);
              absBrakeEvent_ = getDefaultInstance().getAbsBrakeEvent();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString spStDispstat_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes spStDispstat = 55;</code>
             */
            public boolean hasSpStDispstat() {
              return ((bitField1_ & 0x00200000) == 0x00200000);
            }
            /**
             * <code>optional bytes spStDispstat = 55;</code>
             */
            public com.google.protobuf.ByteString getSpStDispstat() {
              return spStDispstat_;
            }
            /**
             * <code>optional bytes spStDispstat = 55;</code>
             */
            public Builder setSpStDispstat(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00200000;
              spStDispstat_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes spStDispstat = 55;</code>
             */
            public Builder clearSpStDispstat() {
              bitField1_ = (bitField1_ & ~0x00200000);
              spStDispstat_ = getDefaultInstance().getSpStDispstat();
              onChanged();
              return this;
            }

            private int vCASERS_ ;
            /**
             * <code>optional int32 VC_AS_ERS = 56;</code>
             */
            public boolean hasVCASERS() {
              return ((bitField1_ & 0x00400000) == 0x00400000);
            }
            /**
             * <code>optional int32 VC_AS_ERS = 56;</code>
             */
            public int getVCASERS() {
              return vCASERS_;
            }
            /**
             * <code>optional int32 VC_AS_ERS = 56;</code>
             */
            public Builder setVCASERS(int value) {
              bitField1_ |= 0x00400000;
              vCASERS_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 VC_AS_ERS = 56;</code>
             */
            public Builder clearVCASERS() {
              bitField1_ = (bitField1_ & ~0x00400000);
              vCASERS_ = 0;
              onChanged();
              return this;
            }

            private int drvRqShftROT_ ;
            /**
             * <code>optional int32 DrvRqShftROT = 57;</code>
             */
            public boolean hasDrvRqShftROT() {
              return ((bitField1_ & 0x00800000) == 0x00800000);
            }
            /**
             * <code>optional int32 DrvRqShftROT = 57;</code>
             */
            public int getDrvRqShftROT() {
              return drvRqShftROT_;
            }
            /**
             * <code>optional int32 DrvRqShftROT = 57;</code>
             */
            public Builder setDrvRqShftROT(int value) {
              bitField1_ |= 0x00800000;
              drvRqShftROT_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 DrvRqShftROT = 57;</code>
             */
            public Builder clearDrvRqShftROT() {
              bitField1_ = (bitField1_ & ~0x00800000);
              drvRqShftROT_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString ePBHoldSts_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes EPBHoldSts = 58;</code>
             */
            public boolean hasEPBHoldSts() {
              return ((bitField1_ & 0x01000000) == 0x01000000);
            }
            /**
             * <code>optional bytes EPBHoldSts = 58;</code>
             */
            public com.google.protobuf.ByteString getEPBHoldSts() {
              return ePBHoldSts_;
            }
            /**
             * <code>optional bytes EPBHoldSts = 58;</code>
             */
            public Builder setEPBHoldSts(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x01000000;
              ePBHoldSts_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes EPBHoldSts = 58;</code>
             */
            public Builder clearEPBHoldSts() {
              bitField1_ = (bitField1_ & ~0x01000000);
              ePBHoldSts_ = getDefaultInstance().getEPBHoldSts();
              onChanged();
              return this;
            }

            private int padShft_ ;
            /**
             * <code>optional int32 Pad_Shft = 59;</code>
             */
            public boolean hasPadShft() {
              return ((bitField1_ & 0x02000000) == 0x02000000);
            }
            /**
             * <code>optional int32 Pad_Shft = 59;</code>
             */
            public int getPadShft() {
              return padShft_;
            }
            /**
             * <code>optional int32 Pad_Shft = 59;</code>
             */
            public Builder setPadShft(int value) {
              bitField1_ |= 0x02000000;
              padShft_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 Pad_Shft = 59;</code>
             */
            public Builder clearPadShft() {
              bitField1_ = (bitField1_ & ~0x02000000);
              padShft_ = 0;
              onChanged();
              return this;
            }

            private int tCaseAWDDrvMdRq_ ;
            /**
             * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
             */
            public boolean hasTCaseAWDDrvMdRq() {
              return ((bitField1_ & 0x04000000) == 0x04000000);
            }
            /**
             * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
             */
            public int getTCaseAWDDrvMdRq() {
              return tCaseAWDDrvMdRq_;
            }
            /**
             * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
             */
            public Builder setTCaseAWDDrvMdRq(int value) {
              bitField1_ |= 0x04000000;
              tCaseAWDDrvMdRq_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 TCaseAWD_DrvMdRq = 60;</code>
             */
            public Builder clearTCaseAWDDrvMdRq() {
              bitField1_ = (bitField1_ & ~0x04000000);
              tCaseAWDDrvMdRq_ = 0;
              onChanged();
              return this;
            }

            private int tRNSSPDMC_ ;
            /**
             * <code>optional int32 TRNS_SPD_MC = 61;</code>
             */
            public boolean hasTRNSSPDMC() {
              return ((bitField1_ & 0x08000000) == 0x08000000);
            }
            /**
             * <code>optional int32 TRNS_SPD_MC = 61;</code>
             */
            public int getTRNSSPDMC() {
              return tRNSSPDMC_;
            }
            /**
             * <code>optional int32 TRNS_SPD_MC = 61;</code>
             */
            public Builder setTRNSSPDMC(int value) {
              bitField1_ |= 0x08000000;
              tRNSSPDMC_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 TRNS_SPD_MC = 61;</code>
             */
            public Builder clearTRNSSPDMC() {
              bitField1_ = (bitField1_ & ~0x08000000);
              tRNSSPDMC_ = 0;
              onChanged();
              return this;
            }

            private int trnsEMCCAchvd_ ;
            /**
             * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
             */
            public boolean hasTrnsEMCCAchvd() {
              return ((bitField1_ & 0x10000000) == 0x10000000);
            }
            /**
             * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
             */
            public int getTrnsEMCCAchvd() {
              return trnsEMCCAchvd_;
            }
            /**
             * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
             */
            public Builder setTrnsEMCCAchvd(int value) {
              bitField1_ |= 0x10000000;
              trnsEMCCAchvd_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 Trns_EMCC_Achvd = 62;</code>
             */
            public Builder clearTrnsEMCCAchvd() {
              bitField1_ = (bitField1_ & ~0x10000000);
              trnsEMCCAchvd_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString outputSpdPolarity_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes outputSpdPolarity = 63;</code>
             */
            public boolean hasOutputSpdPolarity() {
              return ((bitField1_ & 0x20000000) == 0x20000000);
            }
            /**
             * <code>optional bytes outputSpdPolarity = 63;</code>
             */
            public com.google.protobuf.ByteString getOutputSpdPolarity() {
              return outputSpdPolarity_;
            }
            /**
             * <code>optional bytes outputSpdPolarity = 63;</code>
             */
            public Builder setOutputSpdPolarity(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x20000000;
              outputSpdPolarity_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes outputSpdPolarity = 63;</code>
             */
            public Builder clearOutputSpdPolarity() {
              bitField1_ = (bitField1_ & ~0x20000000);
              outputSpdPolarity_ = getDefaultInstance().getOutputSpdPolarity();
              onChanged();
              return this;
            }

            private int outputSpeed_ ;
            /**
             * <code>optional int32 outputSpeed = 64;</code>
             */
            public boolean hasOutputSpeed() {
              return ((bitField1_ & 0x40000000) == 0x40000000);
            }
            /**
             * <code>optional int32 outputSpeed = 64;</code>
             */
            public int getOutputSpeed() {
              return outputSpeed_;
            }
            /**
             * <code>optional int32 outputSpeed = 64;</code>
             */
            public Builder setOutputSpeed(int value) {
              bitField1_ |= 0x40000000;
              outputSpeed_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 outputSpeed = 64;</code>
             */
            public Builder clearOutputSpeed() {
              bitField1_ = (bitField1_ & ~0x40000000);
              outputSpeed_ = 0;
              onChanged();
              return this;
            }

            private int nTurb_ ;
            /**
             * <code>optional int32 nTurb = 65;</code>
             */
            public boolean hasNTurb() {
              return ((bitField1_ & 0x80000000) == 0x80000000);
            }
            /**
             * <code>optional int32 nTurb = 65;</code>
             */
            public int getNTurb() {
              return nTurb_;
            }
            /**
             * <code>optional int32 nTurb = 65;</code>
             */
            public Builder setNTurb(int value) {
              bitField1_ |= 0x80000000;
              nTurb_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 nTurb = 65;</code>
             */
            public Builder clearNTurb() {
              bitField1_ = (bitField1_ & ~0x80000000);
              nTurb_ = 0;
              onChanged();
              return this;
            }

            private int kS_ ;
            /**
             * <code>optional int32 KS = 66;</code>
             */
            public boolean hasKS() {
              return ((bitField2_ & 0x00000001) == 0x00000001);
            }
            /**
             * <code>optional int32 KS = 66;</code>
             */
            public int getKS() {
              return kS_;
            }
            /**
             * <code>optional int32 KS = 66;</code>
             */
            public Builder setKS(int value) {
              bitField2_ |= 0x00000001;
              kS_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 KS = 66;</code>
             */
            public Builder clearKS() {
              bitField2_ = (bitField2_ & ~0x00000001);
              kS_ = 0;
              onChanged();
              return this;
            }

            private int kSTOB_ ;
            /**
             * <code>optional int32 K_STO_B = 67;</code>
             */
            public boolean hasKSTOB() {
              return ((bitField2_ & 0x00000002) == 0x00000002);
            }
            /**
             * <code>optional int32 K_STO_B = 67;</code>
             */
            public int getKSTOB() {
              return kSTOB_;
            }
            /**
             * <code>optional int32 K_STO_B = 67;</code>
             */
            public Builder setKSTOB(int value) {
              bitField2_ |= 0x00000002;
              kSTOB_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 K_STO_B = 67;</code>
             */
            public Builder clearKSTOB() {
              bitField2_ = (bitField2_ & ~0x00000002);
              kSTOB_ = 0;
              onChanged();
              return this;
            }

            private int kSB_ ;
            /**
             * <code>optional int32 K_S_B = 68;</code>
             */
            public boolean hasKSB() {
              return ((bitField2_ & 0x00000004) == 0x00000004);
            }
            /**
             * <code>optional int32 K_S_B = 68;</code>
             */
            public int getKSB() {
              return kSB_;
            }
            /**
             * <code>optional int32 K_S_B = 68;</code>
             */
            public Builder setKSB(int value) {
              bitField2_ |= 0x00000004;
              kSB_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 K_S_B = 68;</code>
             */
            public Builder clearKSB() {
              bitField2_ = (bitField2_ & ~0x00000004);
              kSB_ = 0;
              onChanged();
              return this;
            }

            private int kOB_ ;
            /**
             * <code>optional int32 K_O_B = 69;</code>
             */
            public boolean hasKOB() {
              return ((bitField2_ & 0x00000008) == 0x00000008);
            }
            /**
             * <code>optional int32 K_O_B = 69;</code>
             */
            public int getKOB() {
              return kOB_;
            }
            /**
             * <code>optional int32 K_O_B = 69;</code>
             */
            public Builder setKOB(int value) {
              bitField2_ |= 0x00000008;
              kOB_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 K_O_B = 69;</code>
             */
            public Builder clearKOB() {
              bitField2_ = (bitField2_ & ~0x00000008);
              kOB_ = 0;
              onChanged();
              return this;
            }

            private int kGB_ ;
            /**
             * <code>optional int32 K_G_B = 70;</code>
             */
            public boolean hasKGB() {
              return ((bitField2_ & 0x00000010) == 0x00000010);
            }
            /**
             * <code>optional int32 K_G_B = 70;</code>
             */
            public int getKGB() {
              return kGB_;
            }
            /**
             * <code>optional int32 K_G_B = 70;</code>
             */
            public Builder setKGB(int value) {
              bitField2_ |= 0x00000010;
              kGB_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 K_G_B = 70;</code>
             */
            public Builder clearKGB() {
              bitField2_ = (bitField2_ & ~0x00000010);
              kGB_ = 0;
              onChanged();
              return this;
            }

            private int grTarget_ ;
            /**
             * <code>optional int32 grTarget = 71;</code>
             */
            public boolean hasGrTarget() {
              return ((bitField2_ & 0x00000020) == 0x00000020);
            }
            /**
             * <code>optional int32 grTarget = 71;</code>
             */
            public int getGrTarget() {
              return grTarget_;
            }
            /**
             * <code>optional int32 grTarget = 71;</code>
             */
            public Builder setGrTarget(int value) {
              bitField2_ |= 0x00000020;
              grTarget_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 grTarget = 71;</code>
             */
            public Builder clearGrTarget() {
              bitField2_ = (bitField2_ & ~0x00000020);
              grTarget_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString gearSwitchActiveStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes gearSwitchActiveStatus = 72;</code>
             */
            public boolean hasGearSwitchActiveStatus() {
              return ((bitField2_ & 0x00000040) == 0x00000040);
            }
            /**
             * <code>optional bytes gearSwitchActiveStatus = 72;</code>
             */
            public com.google.protobuf.ByteString getGearSwitchActiveStatus() {
              return gearSwitchActiveStatus_;
            }
            /**
             * <code>optional bytes gearSwitchActiveStatus = 72;</code>
             */
            public Builder setGearSwitchActiveStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00000040;
              gearSwitchActiveStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes gearSwitchActiveStatus = 72;</code>
             */
            public Builder clearGearSwitchActiveStatus() {
              bitField2_ = (bitField2_ & ~0x00000040);
              gearSwitchActiveStatus_ = getDefaultInstance().getGearSwitchActiveStatus();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString engStEnblRqTCM_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
             */
            public boolean hasEngStEnblRqTCM() {
              return ((bitField2_ & 0x00000080) == 0x00000080);
            }
            /**
             * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
             */
            public com.google.protobuf.ByteString getEngStEnblRqTCM() {
              return engStEnblRqTCM_;
            }
            /**
             * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
             */
            public Builder setEngStEnblRqTCM(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00000080;
              engStEnblRqTCM_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes EngSt_Enbl_Rq_TCM = 73;</code>
             */
            public Builder clearEngStEnblRqTCM() {
              bitField2_ = (bitField2_ & ~0x00000080);
              engStEnblRqTCM_ = getDefaultInstance().getEngStEnblRqTCM();
              onChanged();
              return this;
            }

            private int tXTEMP_ ;
            /**
             * <code>optional int32 TX_TEMP = 74;</code>
             */
            public boolean hasTXTEMP() {
              return ((bitField2_ & 0x00000100) == 0x00000100);
            }
            /**
             * <code>optional int32 TX_TEMP = 74;</code>
             */
            public int getTXTEMP() {
              return tXTEMP_;
            }
            /**
             * <code>optional int32 TX_TEMP = 74;</code>
             */
            public Builder setTXTEMP(int value) {
              bitField2_ |= 0x00000100;
              tXTEMP_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 TX_TEMP = 74;</code>
             */
            public Builder clearTXTEMP() {
              bitField2_ = (bitField2_ & ~0x00000100);
              tXTEMP_ = 0;
              onChanged();
              return this;
            }

            private int brkPrssTMC_ ;
            /**
             * <code>optional int32 BrkPrss_TMC = 75;</code>
             */
            public boolean hasBrkPrssTMC() {
              return ((bitField2_ & 0x00000200) == 0x00000200);
            }
            /**
             * <code>optional int32 BrkPrss_TMC = 75;</code>
             */
            public int getBrkPrssTMC() {
              return brkPrssTMC_;
            }
            /**
             * <code>optional int32 BrkPrss_TMC = 75;</code>
             */
            public Builder setBrkPrssTMC(int value) {
              bitField2_ |= 0x00000200;
              brkPrssTMC_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 BrkPrss_TMC = 75;</code>
             */
            public Builder clearBrkPrssTMC() {
              bitField2_ = (bitField2_ & ~0x00000200);
              brkPrssTMC_ = 0;
              onChanged();
              return this;
            }

            private int prplsnSysAtv_ ;
            /**
             * <code>optional int32 PrplsnSysAtv = 76;</code>
             */
            public boolean hasPrplsnSysAtv() {
              return ((bitField2_ & 0x00000400) == 0x00000400);
            }
            /**
             * <code>optional int32 PrplsnSysAtv = 76;</code>
             */
            public int getPrplsnSysAtv() {
              return prplsnSysAtv_;
            }
            /**
             * <code>optional int32 PrplsnSysAtv = 76;</code>
             */
            public Builder setPrplsnSysAtv(int value) {
              bitField2_ |= 0x00000400;
              prplsnSysAtv_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 PrplsnSysAtv = 76;</code>
             */
            public Builder clearPrplsnSysAtv() {
              bitField2_ = (bitField2_ & ~0x00000400);
              prplsnSysAtv_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString driveReady_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes DriveReady = 77;</code>
             */
            public boolean hasDriveReady() {
              return ((bitField2_ & 0x00000800) == 0x00000800);
            }
            /**
             * <code>optional bytes DriveReady = 77;</code>
             */
            public com.google.protobuf.ByteString getDriveReady() {
              return driveReady_;
            }
            /**
             * <code>optional bytes DriveReady = 77;</code>
             */
            public Builder setDriveReady(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00000800;
              driveReady_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes DriveReady = 77;</code>
             */
            public Builder clearDriveReady() {
              bitField2_ = (bitField2_ & ~0x00000800);
              driveReady_ = getDefaultInstance().getDriveReady();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString pRNDSTAT_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes PRND_STAT = 78;</code>
             */
            public boolean hasPRNDSTAT() {
              return ((bitField2_ & 0x00001000) == 0x00001000);
            }
            /**
             * <code>optional bytes PRND_STAT = 78;</code>
             */
            public com.google.protobuf.ByteString getPRNDSTAT() {
              return pRNDSTAT_;
            }
            /**
             * <code>optional bytes PRND_STAT = 78;</code>
             */
            public Builder setPRNDSTAT(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00001000;
              pRNDSTAT_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes PRND_STAT = 78;</code>
             */
            public Builder clearPRNDSTAT() {
              bitField2_ = (bitField2_ & ~0x00001000);
              pRNDSTAT_ = getDefaultInstance().getPRNDSTAT();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString hVBatCntctrStat_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes HVBatCntctrStat = 79;</code>
             */
            public boolean hasHVBatCntctrStat() {
              return ((bitField2_ & 0x00002000) == 0x00002000);
            }
            /**
             * <code>optional bytes HVBatCntctrStat = 79;</code>
             */
            public com.google.protobuf.ByteString getHVBatCntctrStat() {
              return hVBatCntctrStat_;
            }
            /**
             * <code>optional bytes HVBatCntctrStat = 79;</code>
             */
            public Builder setHVBatCntctrStat(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00002000;
              hVBatCntctrStat_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes HVBatCntctrStat = 79;</code>
             */
            public Builder clearHVBatCntctrStat() {
              bitField2_ = (bitField2_ & ~0x00002000);
              hVBatCntctrStat_ = getDefaultInstance().getHVBatCntctrStat();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString chargingSystemStatus_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes chargingSystemStatus = 80;</code>
             */
            public boolean hasChargingSystemStatus() {
              return ((bitField2_ & 0x00004000) == 0x00004000);
            }
            /**
             * <code>optional bytes chargingSystemStatus = 80;</code>
             */
            public com.google.protobuf.ByteString getChargingSystemStatus() {
              return chargingSystemStatus_;
            }
            /**
             * <code>optional bytes chargingSystemStatus = 80;</code>
             */
            public Builder setChargingSystemStatus(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00004000;
              chargingSystemStatus_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes chargingSystemStatus = 80;</code>
             */
            public Builder clearChargingSystemStatus() {
              bitField2_ = (bitField2_ & ~0x00004000);
              chargingSystemStatus_ = getDefaultInstance().getChargingSystemStatus();
              onChanged();
              return this;
            }

            private int chargingLevel_ ;
            /**
             * <code>optional int32 chargingLevel = 81;</code>
             */
            public boolean hasChargingLevel() {
              return ((bitField2_ & 0x00008000) == 0x00008000);
            }
            /**
             * <code>optional int32 chargingLevel = 81;</code>
             */
            public int getChargingLevel() {
              return chargingLevel_;
            }
            /**
             * <code>optional int32 chargingLevel = 81;</code>
             */
            public Builder setChargingLevel(int value) {
              bitField2_ |= 0x00008000;
              chargingLevel_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 chargingLevel = 81;</code>
             */
            public Builder clearChargingLevel() {
              bitField2_ = (bitField2_ & ~0x00008000);
              chargingLevel_ = 0;
              onChanged();
              return this;
            }

            private int hVBatSOCHCP_ ;
            /**
             * <code>optional int32 HVBatSOC_HCP = 82;</code>
             */
            public boolean hasHVBatSOCHCP() {
              return ((bitField2_ & 0x00010000) == 0x00010000);
            }
            /**
             * <code>optional int32 HVBatSOC_HCP = 82;</code>
             */
            public int getHVBatSOCHCP() {
              return hVBatSOCHCP_;
            }
            /**
             * <code>optional int32 HVBatSOC_HCP = 82;</code>
             */
            public Builder setHVBatSOCHCP(int value) {
              bitField2_ |= 0x00010000;
              hVBatSOCHCP_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 HVBatSOC_HCP = 82;</code>
             */
            public Builder clearHVBatSOCHCP() {
              bitField2_ = (bitField2_ & ~0x00010000);
              hVBatSOCHCP_ = 0;
              onChanged();
              return this;
            }

            private int wheelRPMRearRight_ ;
            /**
             * <code>optional int32 wheelRPMRearRight = 83;</code>
             */
            public boolean hasWheelRPMRearRight() {
              return ((bitField2_ & 0x00020000) == 0x00020000);
            }
            /**
             * <code>optional int32 wheelRPMRearRight = 83;</code>
             */
            public int getWheelRPMRearRight() {
              return wheelRPMRearRight_;
            }
            /**
             * <code>optional int32 wheelRPMRearRight = 83;</code>
             */
            public Builder setWheelRPMRearRight(int value) {
              bitField2_ |= 0x00020000;
              wheelRPMRearRight_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 wheelRPMRearRight = 83;</code>
             */
            public Builder clearWheelRPMRearRight() {
              bitField2_ = (bitField2_ & ~0x00020000);
              wheelRPMRearRight_ = 0;
              onChanged();
              return this;
            }

            private int wheelRPMRearLeft_ ;
            /**
             * <code>optional int32 wheelRPMRearLeft = 84;</code>
             */
            public boolean hasWheelRPMRearLeft() {
              return ((bitField2_ & 0x00040000) == 0x00040000);
            }
            /**
             * <code>optional int32 wheelRPMRearLeft = 84;</code>
             */
            public int getWheelRPMRearLeft() {
              return wheelRPMRearLeft_;
            }
            /**
             * <code>optional int32 wheelRPMRearLeft = 84;</code>
             */
            public Builder setWheelRPMRearLeft(int value) {
              bitField2_ |= 0x00040000;
              wheelRPMRearLeft_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 wheelRPMRearLeft = 84;</code>
             */
            public Builder clearWheelRPMRearLeft() {
              bitField2_ = (bitField2_ & ~0x00040000);
              wheelRPMRearLeft_ = 0;
              onChanged();
              return this;
            }

            private int wheelRPMFrontRight_ ;
            /**
             * <code>optional int32 wheelRPMFrontRight = 85;</code>
             */
            public boolean hasWheelRPMFrontRight() {
              return ((bitField2_ & 0x00080000) == 0x00080000);
            }
            /**
             * <code>optional int32 wheelRPMFrontRight = 85;</code>
             */
            public int getWheelRPMFrontRight() {
              return wheelRPMFrontRight_;
            }
            /**
             * <code>optional int32 wheelRPMFrontRight = 85;</code>
             */
            public Builder setWheelRPMFrontRight(int value) {
              bitField2_ |= 0x00080000;
              wheelRPMFrontRight_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 wheelRPMFrontRight = 85;</code>
             */
            public Builder clearWheelRPMFrontRight() {
              bitField2_ = (bitField2_ & ~0x00080000);
              wheelRPMFrontRight_ = 0;
              onChanged();
              return this;
            }

            private int wheelRPMFrontLeft_ ;
            /**
             * <code>optional int32 wheelRPMFrontLeft = 86;</code>
             */
            public boolean hasWheelRPMFrontLeft() {
              return ((bitField2_ & 0x00100000) == 0x00100000);
            }
            /**
             * <code>optional int32 wheelRPMFrontLeft = 86;</code>
             */
            public int getWheelRPMFrontLeft() {
              return wheelRPMFrontLeft_;
            }
            /**
             * <code>optional int32 wheelRPMFrontLeft = 86;</code>
             */
            public Builder setWheelRPMFrontLeft(int value) {
              bitField2_ |= 0x00100000;
              wheelRPMFrontLeft_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 wheelRPMFrontLeft = 86;</code>
             */
            public Builder clearWheelRPMFrontLeft() {
              bitField2_ = (bitField2_ & ~0x00100000);
              wheelRPMFrontLeft_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString tCASESTAT_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes TCASE_STAT = 87;</code>
             */
            public boolean hasTCASESTAT() {
              return ((bitField2_ & 0x00200000) == 0x00200000);
            }
            /**
             * <code>optional bytes TCASE_STAT = 87;</code>
             */
            public com.google.protobuf.ByteString getTCASESTAT() {
              return tCASESTAT_;
            }
            /**
             * <code>optional bytes TCASE_STAT = 87;</code>
             */
            public Builder setTCASESTAT(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00200000;
              tCASESTAT_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes TCASE_STAT = 87;</code>
             */
            public Builder clearTCASESTAT() {
              bitField2_ = (bitField2_ & ~0x00200000);
              tCASESTAT_ = getDefaultInstance().getTCASESTAT();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString sHFTPROG_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes SHFT_PROG = 89;</code>
             */
            public boolean hasSHFTPROG() {
              return ((bitField2_ & 0x00400000) == 0x00400000);
            }
            /**
             * <code>optional bytes SHFT_PROG = 89;</code>
             */
            public com.google.protobuf.ByteString getSHFTPROG() {
              return sHFTPROG_;
            }
            /**
             * <code>optional bytes SHFT_PROG = 89;</code>
             */
            public Builder setSHFTPROG(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x00400000;
              sHFTPROG_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes SHFT_PROG = 89;</code>
             */
            public Builder clearSHFTPROG() {
              bitField2_ = (bitField2_ & ~0x00400000);
              sHFTPROG_ = getDefaultInstance().getSHFTPROG();
              onChanged();
              return this;
            }

            private int cCSetSpdDsplMPH_ ;
            /**
             * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
             */
            public boolean hasCCSetSpdDsplMPH() {
              return ((bitField2_ & 0x00800000) == 0x00800000);
            }
            /**
             * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
             */
            public int getCCSetSpdDsplMPH() {
              return cCSetSpdDsplMPH_;
            }
            /**
             * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
             */
            public Builder setCCSetSpdDsplMPH(int value) {
              bitField2_ |= 0x00800000;
              cCSetSpdDsplMPH_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 CC_SetSpdDsplMPH = 90;</code>
             */
            public Builder clearCCSetSpdDsplMPH() {
              bitField2_ = (bitField2_ & ~0x00800000);
              cCSetSpdDsplMPH_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString aCCOnOff_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes ACCOnOff = 91;</code>
             */
            public boolean hasACCOnOff() {
              return ((bitField2_ & 0x01000000) == 0x01000000);
            }
            /**
             * <code>optional bytes ACCOnOff = 91;</code>
             */
            public com.google.protobuf.ByteString getACCOnOff() {
              return aCCOnOff_;
            }
            /**
             * <code>optional bytes ACCOnOff = 91;</code>
             */
            public Builder setACCOnOff(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x01000000;
              aCCOnOff_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes ACCOnOff = 91;</code>
             */
            public Builder clearACCOnOff() {
              bitField2_ = (bitField2_ & ~0x01000000);
              aCCOnOff_ = getDefaultInstance().getACCOnOff();
              onChanged();
              return this;
            }

            private int cRUISEEGD_ ;
            /**
             * <code>optional int32 CRUISE_EGD = 92;</code>
             */
            public boolean hasCRUISEEGD() {
              return ((bitField2_ & 0x02000000) == 0x02000000);
            }
            /**
             * <code>optional int32 CRUISE_EGD = 92;</code>
             */
            public int getCRUISEEGD() {
              return cRUISEEGD_;
            }
            /**
             * <code>optional int32 CRUISE_EGD = 92;</code>
             */
            public Builder setCRUISEEGD(int value) {
              bitField2_ |= 0x02000000;
              cRUISEEGD_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 CRUISE_EGD = 92;</code>
             */
            public Builder clearCRUISEEGD() {
              bitField2_ = (bitField2_ & ~0x02000000);
              cRUISEEGD_ = 0;
              onChanged();
              return this;
            }

            private int trnsTrqReqSlow2_ ;
            /**
             * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
             */
            public boolean hasTrnsTrqReqSlow2() {
              return ((bitField2_ & 0x04000000) == 0x04000000);
            }
            /**
             * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
             */
            public int getTrnsTrqReqSlow2() {
              return trnsTrqReqSlow2_;
            }
            /**
             * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
             */
            public Builder setTrnsTrqReqSlow2(int value) {
              bitField2_ |= 0x04000000;
              trnsTrqReqSlow2_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 TrnsTrqReqSlow_2 = 93;</code>
             */
            public Builder clearTrnsTrqReqSlow2() {
              bitField2_ = (bitField2_ & ~0x04000000);
              trnsTrqReqSlow2_ = 0;
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString consumptionUnit_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes ConsumptionUnit = 94;</code>
             */
            public boolean hasConsumptionUnit() {
              return ((bitField2_ & 0x08000000) == 0x08000000);
            }
            /**
             * <code>optional bytes ConsumptionUnit = 94;</code>
             */
            public com.google.protobuf.ByteString getConsumptionUnit() {
              return consumptionUnit_;
            }
            /**
             * <code>optional bytes ConsumptionUnit = 94;</code>
             */
            public Builder setConsumptionUnit(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x08000000;
              consumptionUnit_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes ConsumptionUnit = 94;</code>
             */
            public Builder clearConsumptionUnit() {
              bitField2_ = (bitField2_ & ~0x08000000);
              consumptionUnit_ = getDefaultInstance().getConsumptionUnit();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString pFWStat_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes PFW_Stat = 95;</code>
             */
            public boolean hasPFWStat() {
              return ((bitField2_ & 0x10000000) == 0x10000000);
            }
            /**
             * <code>optional bytes PFW_Stat = 95;</code>
             */
            public com.google.protobuf.ByteString getPFWStat() {
              return pFWStat_;
            }
            /**
             * <code>optional bytes PFW_Stat = 95;</code>
             */
            public Builder setPFWStat(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x10000000;
              pFWStat_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes PFW_Stat = 95;</code>
             */
            public Builder clearPFWStat() {
              bitField2_ = (bitField2_ & ~0x10000000);
              pFWStat_ = getDefaultInstance().getPFWStat();
              onChanged();
              return this;
            }

            private com.google.protobuf.ByteString mapEng_ = com.google.protobuf.ByteString.EMPTY;
            /**
             * <code>optional bytes Map_Eng = 96;</code>
             */
            public boolean hasMapEng() {
              return ((bitField2_ & 0x20000000) == 0x20000000);
            }
            /**
             * <code>optional bytes Map_Eng = 96;</code>
             */
            public com.google.protobuf.ByteString getMapEng() {
              return mapEng_;
            }
            /**
             * <code>optional bytes Map_Eng = 96;</code>
             */
            public Builder setMapEng(com.google.protobuf.ByteString value) {
              if (value == null) {
    throw new NullPointerException();
  }
  bitField2_ |= 0x20000000;
              mapEng_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional bytes Map_Eng = 96;</code>
             */
            public Builder clearMapEng() {
              bitField2_ = (bitField2_ & ~0x20000000);
              mapEng_ = getDefaultInstance().getMapEng();
              onChanged();
              return this;
            }

            private int adblueFLLVL_ ;
            /**
             * <code>optional int32 adblue_FL_LVL = 97;</code>
             */
            public boolean hasAdblueFLLVL() {
              return ((bitField2_ & 0x40000000) == 0x40000000);
            }
            /**
             * <code>optional int32 adblue_FL_LVL = 97;</code>
             */
            public int getAdblueFLLVL() {
              return adblueFLLVL_;
            }
            /**
             * <code>optional int32 adblue_FL_LVL = 97;</code>
             */
            public Builder setAdblueFLLVL(int value) {
              bitField2_ |= 0x40000000;
              adblueFLLVL_ = value;
              onChanged();
              return this;
            }
            /**
             * <code>optional int32 adblue_FL_LVL = 97;</code>
             */
            public Builder clearAdblueFLLVL() {
              bitField2_ = (bitField2_ & ~0x40000000);
              adblueFLLVL_ = 0;
              onChanged();
              return this;
            }
            public final Builder setUnknownFields(
                final com.google.protobuf.UnknownFieldSet unknownFields) {
              return super.setUnknownFields(unknownFields);
            }

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


            // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data)
          }

          // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data)
          private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data DEFAULT_INSTANCE;
          static {
            DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data();
          }

          public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getDefaultInstance() {
            return DEFAULT_INSTANCE;
          }

          @java.lang.Deprecated public static final com.google.protobuf.Parser<Data>
              PARSER = new com.google.protobuf.AbstractParser<Data>() {
            public Data parsePartialFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws com.google.protobuf.InvalidProtocolBufferException {
                return new Data(input, extensionRegistry);
            }
          };

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

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

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
          }

        }

        private int bitField0_;
        public static final int TIMESTAMP_FIELD_NUMBER = 1;
        private long timestamp_;
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public long getTimestamp() {
          return timestamp_;
        }

        public static final int LOGDATA_FIELD_NUMBER = 4;
        private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data logData_;
        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        public boolean hasLogData() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getLogData() {
          return logData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance() : logData_;
        }
        /**
         * <pre>
         *			optional VehicleData vehicleData = 3;
         * </pre>
         *
         * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder getLogDataOrBuilder() {
          return logData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance() : logData_;
        }

        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeInt64(1, timestamp_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            output.writeMessage(4, getLogData());
          }
          unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt64Size(1, timestamp_);
          }
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(4, getLogData());
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        private static final long serialVersionUID = 0L;
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData)) {
            return super.equals(obj);
          }
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData) obj;

          boolean result = true;
          result = result && (hasTimestamp() == other.hasTimestamp());
          if (hasTimestamp()) {
            result = result && (getTimestamp()
                == other.getTimestamp());
          }
          result = result && (hasLogData() == other.hasLogData());
          if (hasLogData()) {
            result = result && getLogData()
                .equals(other.getLogData());
          }
          result = result && unknownFields.equals(other.unknownFields);
          return result;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptorForType().hashCode();
          if (hasTimestamp()) {
            hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
                getTimestamp());
          }
          if (hasLogData()) {
            hash = (37 * hash) + LOGDATA_FIELD_NUMBER;
            hash = (53 * hash) + getLogData().hashCode();
          }
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog.DataLogData}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
            // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.DataLog.DataLogData)
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor;
          }

          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder.class);
          }

          // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
              getLogDataFieldBuilder();
            }
          }
          public Builder clear() {
            super.clear();
            timestamp_ = 0L;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (logDataBuilder_ == null) {
              logData_ = null;
            } else {
              logDataBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }

          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDefaultInstanceForType() {
            return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.getDefaultInstance();
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData build() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData buildPartial() {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.timestamp_ = timestamp_;
            if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
              to_bitField0_ |= 0x00000002;
            }
            if (logDataBuilder_ == null) {
              result.logData_ = logData_;
            } else {
              result.logData_ = logDataBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          public Builder clone() {
            return (Builder) super.clone();
          }
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.setField(field, value);
          }
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return (Builder) super.clearField(field);
          }
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return (Builder) super.clearOneof(oneof);
          }
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, Object value) {
            return (Builder) super.setRepeatedField(field, index, value);
          }
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              Object value) {
            return (Builder) super.addRepeatedField(field, value);
          }
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData) {
              return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData other) {
            if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.getDefaultInstance()) return this;
            if (other.hasTimestamp()) {
              setTimestamp(other.getTimestamp());
            }
            if (other.hasLogData()) {
              mergeLogData(other.getLogData());
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          public final boolean isInitialized() {
            return true;
          }

          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }
          private int bitField0_;

          private long timestamp_ ;
          /**
           * <code>optional int64 timestamp = 1;</code>
           */
          public boolean hasTimestamp() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          /**
           * <code>optional int64 timestamp = 1;</code>
           */
          public long getTimestamp() {
            return timestamp_;
          }
          /**
           * <code>optional int64 timestamp = 1;</code>
           */
          public Builder setTimestamp(long value) {
            bitField0_ |= 0x00000001;
            timestamp_ = value;
            onChanged();
            return this;
          }
          /**
           * <code>optional int64 timestamp = 1;</code>
           */
          public Builder clearTimestamp() {
            bitField0_ = (bitField0_ & ~0x00000001);
            timestamp_ = 0L;
            onChanged();
            return this;
          }

          private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data logData_ = null;
          private com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder> logDataBuilder_;
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public boolean hasLogData() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data getLogData() {
            if (logDataBuilder_ == null) {
              return logData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance() : logData_;
            } else {
              return logDataBuilder_.getMessage();
            }
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public Builder setLogData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data value) {
            if (logDataBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              logData_ = value;
              onChanged();
            } else {
              logDataBuilder_.setMessage(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public Builder setLogData(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder builderForValue) {
            if (logDataBuilder_ == null) {
              logData_ = builderForValue.build();
              onChanged();
            } else {
              logDataBuilder_.setMessage(builderForValue.build());
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public Builder mergeLogData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data value) {
            if (logDataBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002) &&
                  logData_ != null &&
                  logData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance()) {
                logData_ =
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.newBuilder(logData_).mergeFrom(value).buildPartial();
              } else {
                logData_ = value;
              }
              onChanged();
            } else {
              logDataBuilder_.mergeFrom(value);
            }
            bitField0_ |= 0x00000002;
            return this;
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public Builder clearLogData() {
            if (logDataBuilder_ == null) {
              logData_ = null;
              onChanged();
            } else {
              logDataBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000002);
            return this;
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder getLogDataBuilder() {
            bitField0_ |= 0x00000002;
            onChanged();
            return getLogDataFieldBuilder().getBuilder();
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder getLogDataOrBuilder() {
            if (logDataBuilder_ != null) {
              return logDataBuilder_.getMessageOrBuilder();
            } else {
              return logData_ == null ?
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.getDefaultInstance() : logData_;
            }
          }
          /**
           * <pre>
           *			optional VehicleData vehicleData = 3;
           * </pre>
           *
           * <code>optional .com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data logData = 4;</code>
           */
          private com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder> 
              getLogDataFieldBuilder() {
            if (logDataBuilder_ == null) {
              logDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Data.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.DataOrBuilder>(
                      getLogData(),
                      getParentForChildren(),
                      isClean());
              logData_ = null;
            }
            return logDataBuilder_;
          }
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

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


          // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.DataLog.DataLogData)
        }

        // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.DataLog.DataLogData)
        private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData();
        }

        public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated public static final com.google.protobuf.Parser<DataLogData>
            PARSER = new com.google.protobuf.AbstractParser<DataLogData>() {
          public DataLogData parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
              return new DataLogData(input, extensionRegistry);
          }
        };

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

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

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int bitField0_;
      public static final int TIMESTAMP_FIELD_NUMBER = 1;
      private long timestamp_;
      /**
       * <code>optional int64 timestamp = 1;</code>
       */
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int64 timestamp = 1;</code>
       */
      public long getTimestamp() {
        return timestamp_;
      }

      public static final int VERSION_FIELD_NUMBER = 2;
      private volatile java.lang.Object version_;
      /**
       * <code>optional string version = 2;</code>
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string version = 2;</code>
       */
      public java.lang.String getVersion() {
        java.lang.Object ref = version_;
        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();
          if (bs.isValidUtf8()) {
            version_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string version = 2;</code>
       */
      public com.google.protobuf.ByteString
          getVersionBytes() {
        java.lang.Object ref = version_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          version_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DATALOGDATA_FIELD_NUMBER = 3;
      private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> dataLogData_;
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> getDataLogDataList() {
        return dataLogData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder> 
          getDataLogDataOrBuilderList() {
        return dataLogData_;
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      public int getDataLogDataCount() {
        return dataLogData_.size();
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDataLogData(int index) {
        return dataLogData_.get(index);
      }
      /**
       * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder getDataLogDataOrBuilder(
          int index) {
        return dataLogData_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt64(1, timestamp_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 2, version_);
        }
        for (int i = 0; i < dataLogData_.size(); i++) {
          output.writeMessage(3, dataLogData_.get(i));
        }
        unknownFields.writeTo(output);
      }

      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(1, timestamp_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, version_);
        }
        for (int i = 0; i < dataLogData_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, dataLogData_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog)) {
          return super.equals(obj);
        }
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog) obj;

        boolean result = true;
        result = result && (hasTimestamp() == other.hasTimestamp());
        if (hasTimestamp()) {
          result = result && (getTimestamp()
              == other.getTimestamp());
        }
        result = result && (hasVersion() == other.hasVersion());
        if (hasVersion()) {
          result = result && getVersion()
              .equals(other.getVersion());
        }
        result = result && getDataLogDataList()
            .equals(other.getDataLogDataList());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getTimestamp());
        }
        if (hasVersion()) {
          hash = (37 * hash) + VERSION_FIELD_NUMBER;
          hash = (53 * hash) + getVersion().hashCode();
        }
        if (getDataLogDataCount() > 0) {
          hash = (37 * hash) + DATALOGDATA_FIELD_NUMBER;
          hash = (53 * hash) + getDataLogDataList().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code com.fca.uconnect.global.SQDFData.DataLog}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData.DataLog)
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder.class);
        }

        // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getDataLogDataFieldBuilder();
          }
        }
        public Builder clear() {
          super.clear();
          timestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000001);
          version_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          if (dataLogDataBuilder_ == null) {
            dataLogData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            dataLogDataBuilder_.clear();
          }
          return this;
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDefaultInstanceForType() {
          return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance();
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog build() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog buildPartial() {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.timestamp_ = timestamp_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.version_ = version_;
          if (dataLogDataBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              dataLogData_ = java.util.Collections.unmodifiableList(dataLogData_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.dataLogData_ = dataLogData_;
          } else {
            result.dataLogData_ = dataLogDataBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder clone() {
          return (Builder) super.clone();
        }
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.setField(field, value);
        }
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return (Builder) super.clearField(field);
        }
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return (Builder) super.clearOneof(oneof);
        }
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, Object value) {
          return (Builder) super.setRepeatedField(field, index, value);
        }
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            Object value) {
          return (Builder) super.addRepeatedField(field, value);
        }
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog) {
            return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog other) {
          if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance()) return this;
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          if (other.hasVersion()) {
            bitField0_ |= 0x00000002;
            version_ = other.version_;
            onChanged();
          }
          if (dataLogDataBuilder_ == null) {
            if (!other.dataLogData_.isEmpty()) {
              if (dataLogData_.isEmpty()) {
                dataLogData_ = other.dataLogData_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureDataLogDataIsMutable();
                dataLogData_.addAll(other.dataLogData_);
              }
              onChanged();
            }
          } else {
            if (!other.dataLogData_.isEmpty()) {
              if (dataLogDataBuilder_.isEmpty()) {
                dataLogDataBuilder_.dispose();
                dataLogDataBuilder_ = null;
                dataLogData_ = other.dataLogData_;
                bitField0_ = (bitField0_ & ~0x00000004);
                dataLogDataBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getDataLogDataFieldBuilder() : null;
              } else {
                dataLogDataBuilder_.addAllMessages(other.dataLogData_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private long timestamp_ ;
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public long getTimestamp() {
          return timestamp_;
        }
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public Builder setTimestamp(long value) {
          bitField0_ |= 0x00000001;
          timestamp_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 timestamp = 1;</code>
         */
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000001);
          timestamp_ = 0L;
          onChanged();
          return this;
        }

        private java.lang.Object version_ = "";
        /**
         * <code>optional string version = 2;</code>
         */
        public boolean hasVersion() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional string version = 2;</code>
         */
        public java.lang.String getVersion() {
          java.lang.Object ref = version_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              version_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string version = 2;</code>
         */
        public com.google.protobuf.ByteString
            getVersionBytes() {
          java.lang.Object ref = version_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            version_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string version = 2;</code>
         */
        public Builder setVersion(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          version_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string version = 2;</code>
         */
        public Builder clearVersion() {
          bitField0_ = (bitField0_ & ~0x00000002);
          version_ = getDefaultInstance().getVersion();
          onChanged();
          return this;
        }
        /**
         * <code>optional string version = 2;</code>
         */
        public Builder setVersionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          version_ = value;
          onChanged();
          return this;
        }

        private java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> dataLogData_ =
          java.util.Collections.emptyList();
        private void ensureDataLogDataIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            dataLogData_ = new java.util.ArrayList<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData>(dataLogData_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder> dataLogDataBuilder_;

        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> getDataLogDataList() {
          if (dataLogDataBuilder_ == null) {
            return java.util.Collections.unmodifiableList(dataLogData_);
          } else {
            return dataLogDataBuilder_.getMessageList();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public int getDataLogDataCount() {
          if (dataLogDataBuilder_ == null) {
            return dataLogData_.size();
          } else {
            return dataLogDataBuilder_.getCount();
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData getDataLogData(int index) {
          if (dataLogDataBuilder_ == null) {
            return dataLogData_.get(index);
          } else {
            return dataLogDataBuilder_.getMessage(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder setDataLogData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData value) {
          if (dataLogDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataLogDataIsMutable();
            dataLogData_.set(index, value);
            onChanged();
          } else {
            dataLogDataBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder setDataLogData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder builderForValue) {
          if (dataLogDataBuilder_ == null) {
            ensureDataLogDataIsMutable();
            dataLogData_.set(index, builderForValue.build());
            onChanged();
          } else {
            dataLogDataBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder addDataLogData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData value) {
          if (dataLogDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataLogDataIsMutable();
            dataLogData_.add(value);
            onChanged();
          } else {
            dataLogDataBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder addDataLogData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData value) {
          if (dataLogDataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDataLogDataIsMutable();
            dataLogData_.add(index, value);
            onChanged();
          } else {
            dataLogDataBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder addDataLogData(
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder builderForValue) {
          if (dataLogDataBuilder_ == null) {
            ensureDataLogDataIsMutable();
            dataLogData_.add(builderForValue.build());
            onChanged();
          } else {
            dataLogDataBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder addDataLogData(
            int index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder builderForValue) {
          if (dataLogDataBuilder_ == null) {
            ensureDataLogDataIsMutable();
            dataLogData_.add(index, builderForValue.build());
            onChanged();
          } else {
            dataLogDataBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder addAllDataLogData(
            java.lang.Iterable<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData> values) {
          if (dataLogDataBuilder_ == null) {
            ensureDataLogDataIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, dataLogData_);
            onChanged();
          } else {
            dataLogDataBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder clearDataLogData() {
          if (dataLogDataBuilder_ == null) {
            dataLogData_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            dataLogDataBuilder_.clear();
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public Builder removeDataLogData(int index) {
          if (dataLogDataBuilder_ == null) {
            ensureDataLogDataIsMutable();
            dataLogData_.remove(index);
            onChanged();
          } else {
            dataLogDataBuilder_.remove(index);
          }
          return this;
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder getDataLogDataBuilder(
            int index) {
          return getDataLogDataFieldBuilder().getBuilder(index);
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder getDataLogDataOrBuilder(
            int index) {
          if (dataLogDataBuilder_ == null) {
            return dataLogData_.get(index);  } else {
            return dataLogDataBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public java.util.List<? extends com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder> 
             getDataLogDataOrBuilderList() {
          if (dataLogDataBuilder_ != null) {
            return dataLogDataBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(dataLogData_);
          }
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder addDataLogDataBuilder() {
          return getDataLogDataFieldBuilder().addBuilder(
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder addDataLogDataBuilder(
            int index) {
          return getDataLogDataFieldBuilder().addBuilder(
              index, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.getDefaultInstance());
        }
        /**
         * <code>repeated .com.fca.uconnect.global.SQDFData.DataLog.DataLogData dataLogData = 3;</code>
         */
        public java.util.List<com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder> 
             getDataLogDataBuilderList() {
          return getDataLogDataFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder> 
            getDataLogDataFieldBuilder() {
          if (dataLogDataBuilder_ == null) {
            dataLogDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.DataLogDataOrBuilder>(
                    dataLogData_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            dataLogData_ = null;
          }
          return dataLogDataBuilder_;
        }
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData.DataLog)
      }

      // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData.DataLog)
      private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog();
      }

      public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      @java.lang.Deprecated public static final com.google.protobuf.Parser<DataLog>
          PARSER = new com.google.protobuf.AbstractParser<DataLog>() {
        public DataLog parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
            return new DataLog(input, extensionRegistry);
        }
      };

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

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

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int VEHICLEID_FIELD_NUMBER = 1;
    private volatile java.lang.Object vehicleId_;
    /**
     * <code>optional string vehicleId = 1;</code>
     */
    public boolean hasVehicleId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string vehicleId = 1;</code>
     */
    public java.lang.String getVehicleId() {
      java.lang.Object ref = vehicleId_;
      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();
        if (bs.isValidUtf8()) {
          vehicleId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string vehicleId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getVehicleIdBytes() {
      java.lang.Object ref = vehicleId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        vehicleId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EVENTID_FIELD_NUMBER = 2;
    private volatile java.lang.Object eventId_;
    /**
     * <code>optional string eventId = 2;</code>
     */
    public boolean hasEventId() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string eventId = 2;</code>
     */
    public java.lang.String getEventId() {
      java.lang.Object ref = eventId_;
      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();
        if (bs.isValidUtf8()) {
          eventId_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string eventId = 2;</code>
     */
    public com.google.protobuf.ByteString
        getEventIdBytes() {
      java.lang.Object ref = eventId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        eventId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EVENTCREATIONTIME_FIELD_NUMBER = 3;
    private long eventCreationTime_;
    /**
     * <code>optional int64 eventCreationTime = 3;</code>
     */
    public boolean hasEventCreationTime() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int64 eventCreationTime = 3;</code>
     */
    public long getEventCreationTime() {
      return eventCreationTime_;
    }

    public static final int UPLOADVEHICLELOCATION_FIELD_NUMBER = 4;
    private com.fca.uconnect.global.GlobalUconnectGNSS.Location uploadVehicleLocation_;
    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    public boolean hasUploadVehicleLocation() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectGNSS.Location getUploadVehicleLocation() {
      return uploadVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : uploadVehicleLocation_;
    }
    /**
     * <pre>
     *&#47; Vehicle GPS Location during SQDF data upload
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getUploadVehicleLocationOrBuilder() {
      return uploadVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : uploadVehicleLocation_;
    }

    public static final int QUICKSCANDATA_FIELD_NUMBER = 6;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan quickScanData_;
    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    public boolean hasQuickScanData() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getQuickScanData() {
      return quickScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance() : quickScanData_;
    }
    /**
     * <pre>
     *	optional double gpsLongitude = 5;
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder getQuickScanDataOrBuilder() {
      return quickScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance() : quickScanData_;
    }

    public static final int DTCSCANDATA_FIELD_NUMBER = 7;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan dtcScanData_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    public boolean hasDtcScanData() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDtcScanData() {
      return dtcScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance() : dtcScanData_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder getDtcScanDataOrBuilder() {
      return dtcScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance() : dtcScanData_;
    }

    public static final int HISTOGRAM_FIELD_NUMBER = 8;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram histogram_;
    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    public boolean hasHistogram() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getHistogram() {
      return histogram_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance() : histogram_;
    }
    /**
     * <pre>
     *&#47; Protobuf format to support uploading Histogram data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder getHistogramOrBuilder() {
      return histogram_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance() : histogram_;
    }

    public static final int DATALOG_FIELD_NUMBER = 9;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog datalog_;
    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    public boolean hasDatalog() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDatalog() {
      return datalog_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance() : datalog_;
    }
    /**
     * <pre>
     *&#47; Protobuf format to support uploading DataLog data.
     * </pre>
     *
     * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder getDatalogOrBuilder() {
      return datalog_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance() : datalog_;
    }

    public static final int GENERICDATA_FIELD_NUMBER = 10;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData genericData_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    public boolean hasGenericData() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getGenericData() {
      return genericData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance() : genericData_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder getGenericDataOrBuilder() {
      return genericData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance() : genericData_;
    }

    public static final int SGWDATA_FIELD_NUMBER = 11;
    private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData sgwData_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    public boolean hasSgwData() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getSgwData() {
      return sgwData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance() : sgwData_;
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder getSgwDataOrBuilder() {
      return sgwData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance() : sgwData_;
    }

    public static final int SERVICENAME_FIELD_NUMBER = 12;
    private int serviceName_;
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
     */
    public boolean hasServiceName() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
     */
    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum getServiceName() {
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum.valueOf(serviceName_);
      return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum.VRC : result;
    }

    public static final int HISTOGRAMJSONDATA_FIELD_NUMBER = 13;
    private com.google.protobuf.ByteString histogramJsonData_;
    /**
     * <pre>
     *&#47; Support legacy approach for passing through Histogram data in JSON format.
     * </pre>
     *
     * <code>optional bytes histogramJsonData = 13;</code>
     */
    public boolean hasHistogramJsonData() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <pre>
     *&#47; Support legacy approach for passing through Histogram data in JSON format.
     * </pre>
     *
     * <code>optional bytes histogramJsonData = 13;</code>
     */
    public com.google.protobuf.ByteString getHistogramJsonData() {
      return histogramJsonData_;
    }

    public static final int DATALOGJSONDATA_FIELD_NUMBER = 14;
    private com.google.protobuf.ByteString datalogJsonData_;
    /**
     * <pre>
     *&#47; Support legacy approach for passing through DataLog data in JSON format.
     * </pre>
     *
     * <code>optional bytes datalogJsonData = 14;</code>
     */
    public boolean hasDatalogJsonData() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <pre>
     *&#47; Support legacy approach for passing through DataLog data in JSON format.
     * </pre>
     *
     * <code>optional bytes datalogJsonData = 14;</code>
     */
    public com.google.protobuf.ByteString getDatalogJsonData() {
      return datalogJsonData_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, vehicleId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, eventId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, eventCreationTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, getUploadVehicleLocation());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(6, getQuickScanData());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeMessage(7, getDtcScanData());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeMessage(8, getHistogram());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(9, getDatalog());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeMessage(10, getGenericData());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeMessage(11, getSgwData());
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeEnum(12, serviceName_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBytes(13, histogramJsonData_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBytes(14, datalogJsonData_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, vehicleId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, eventId_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, eventCreationTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getUploadVehicleLocation());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getQuickScanData());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getDtcScanData());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getHistogram());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getDatalog());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getGenericData());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getSgwData());
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(12, serviceName_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(13, histogramJsonData_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(14, datalogJsonData_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData)) {
        return super.equals(obj);
      }
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData other = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData) obj;

      boolean result = true;
      result = result && (hasVehicleId() == other.hasVehicleId());
      if (hasVehicleId()) {
        result = result && getVehicleId()
            .equals(other.getVehicleId());
      }
      result = result && (hasEventId() == other.hasEventId());
      if (hasEventId()) {
        result = result && getEventId()
            .equals(other.getEventId());
      }
      result = result && (hasEventCreationTime() == other.hasEventCreationTime());
      if (hasEventCreationTime()) {
        result = result && (getEventCreationTime()
            == other.getEventCreationTime());
      }
      result = result && (hasUploadVehicleLocation() == other.hasUploadVehicleLocation());
      if (hasUploadVehicleLocation()) {
        result = result && getUploadVehicleLocation()
            .equals(other.getUploadVehicleLocation());
      }
      result = result && (hasQuickScanData() == other.hasQuickScanData());
      if (hasQuickScanData()) {
        result = result && getQuickScanData()
            .equals(other.getQuickScanData());
      }
      result = result && (hasDtcScanData() == other.hasDtcScanData());
      if (hasDtcScanData()) {
        result = result && getDtcScanData()
            .equals(other.getDtcScanData());
      }
      result = result && (hasHistogram() == other.hasHistogram());
      if (hasHistogram()) {
        result = result && getHistogram()
            .equals(other.getHistogram());
      }
      result = result && (hasDatalog() == other.hasDatalog());
      if (hasDatalog()) {
        result = result && getDatalog()
            .equals(other.getDatalog());
      }
      result = result && (hasGenericData() == other.hasGenericData());
      if (hasGenericData()) {
        result = result && getGenericData()
            .equals(other.getGenericData());
      }
      result = result && (hasSgwData() == other.hasSgwData());
      if (hasSgwData()) {
        result = result && getSgwData()
            .equals(other.getSgwData());
      }
      result = result && (hasServiceName() == other.hasServiceName());
      if (hasServiceName()) {
        result = result && serviceName_ == other.serviceName_;
      }
      result = result && (hasHistogramJsonData() == other.hasHistogramJsonData());
      if (hasHistogramJsonData()) {
        result = result && getHistogramJsonData()
            .equals(other.getHistogramJsonData());
      }
      result = result && (hasDatalogJsonData() == other.hasDatalogJsonData());
      if (hasDatalogJsonData()) {
        result = result && getDatalogJsonData()
            .equals(other.getDatalogJsonData());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasVehicleId()) {
        hash = (37 * hash) + VEHICLEID_FIELD_NUMBER;
        hash = (53 * hash) + getVehicleId().hashCode();
      }
      if (hasEventId()) {
        hash = (37 * hash) + EVENTID_FIELD_NUMBER;
        hash = (53 * hash) + getEventId().hashCode();
      }
      if (hasEventCreationTime()) {
        hash = (37 * hash) + EVENTCREATIONTIME_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getEventCreationTime());
      }
      if (hasUploadVehicleLocation()) {
        hash = (37 * hash) + UPLOADVEHICLELOCATION_FIELD_NUMBER;
        hash = (53 * hash) + getUploadVehicleLocation().hashCode();
      }
      if (hasQuickScanData()) {
        hash = (37 * hash) + QUICKSCANDATA_FIELD_NUMBER;
        hash = (53 * hash) + getQuickScanData().hashCode();
      }
      if (hasDtcScanData()) {
        hash = (37 * hash) + DTCSCANDATA_FIELD_NUMBER;
        hash = (53 * hash) + getDtcScanData().hashCode();
      }
      if (hasHistogram()) {
        hash = (37 * hash) + HISTOGRAM_FIELD_NUMBER;
        hash = (53 * hash) + getHistogram().hashCode();
      }
      if (hasDatalog()) {
        hash = (37 * hash) + DATALOG_FIELD_NUMBER;
        hash = (53 * hash) + getDatalog().hashCode();
      }
      if (hasGenericData()) {
        hash = (37 * hash) + GENERICDATA_FIELD_NUMBER;
        hash = (53 * hash) + getGenericData().hashCode();
      }
      if (hasSgwData()) {
        hash = (37 * hash) + SGWDATA_FIELD_NUMBER;
        hash = (53 * hash) + getSgwData().hashCode();
      }
      if (hasServiceName()) {
        hash = (37 * hash) + SERVICENAME_FIELD_NUMBER;
        hash = (53 * hash) + serviceName_;
      }
      if (hasHistogramJsonData()) {
        hash = (37 * hash) + HISTOGRAMJSONDATA_FIELD_NUMBER;
        hash = (53 * hash) + getHistogramJsonData().hashCode();
      }
      if (hasDatalogJsonData()) {
        hash = (37 * hash) + DATALOGJSONDATA_FIELD_NUMBER;
        hash = (53 * hash) + getDatalogJsonData().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.fca.uconnect.global.SQDFData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.fca.uconnect.global.SQDFData)
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.class, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Builder.class);
      }

      // Construct using com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getUploadVehicleLocationFieldBuilder();
          getQuickScanDataFieldBuilder();
          getDtcScanDataFieldBuilder();
          getHistogramFieldBuilder();
          getDatalogFieldBuilder();
          getGenericDataFieldBuilder();
          getSgwDataFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        vehicleId_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        eventId_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        eventCreationTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (uploadVehicleLocationBuilder_ == null) {
          uploadVehicleLocation_ = null;
        } else {
          uploadVehicleLocationBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        if (quickScanDataBuilder_ == null) {
          quickScanData_ = null;
        } else {
          quickScanDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (dtcScanDataBuilder_ == null) {
          dtcScanData_ = null;
        } else {
          dtcScanDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (histogramBuilder_ == null) {
          histogram_ = null;
        } else {
          histogramBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        if (datalogBuilder_ == null) {
          datalog_ = null;
        } else {
          datalogBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (genericDataBuilder_ == null) {
          genericData_ = null;
        } else {
          genericDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        if (sgwDataBuilder_ == null) {
          sgwData_ = null;
        } else {
          sgwDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        serviceName_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        histogramJsonData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000800);
        datalogJsonData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00001000);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.internal_static_com_fca_uconnect_global_SQDFData_descriptor;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getDefaultInstanceForType() {
        return com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance();
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData build() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData buildPartial() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData result = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.vehicleId_ = vehicleId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.eventId_ = eventId_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.eventCreationTime_ = eventCreationTime_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (uploadVehicleLocationBuilder_ == null) {
          result.uploadVehicleLocation_ = uploadVehicleLocation_;
        } else {
          result.uploadVehicleLocation_ = uploadVehicleLocationBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (quickScanDataBuilder_ == null) {
          result.quickScanData_ = quickScanData_;
        } else {
          result.quickScanData_ = quickScanDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        if (dtcScanDataBuilder_ == null) {
          result.dtcScanData_ = dtcScanData_;
        } else {
          result.dtcScanData_ = dtcScanDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        if (histogramBuilder_ == null) {
          result.histogram_ = histogram_;
        } else {
          result.histogram_ = histogramBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (datalogBuilder_ == null) {
          result.datalog_ = datalog_;
        } else {
          result.datalog_ = datalogBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        if (genericDataBuilder_ == null) {
          result.genericData_ = genericData_;
        } else {
          result.genericData_ = genericDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        if (sgwDataBuilder_ == null) {
          result.sgwData_ = sgwData_;
        } else {
          result.sgwData_ = sgwDataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.serviceName_ = serviceName_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.histogramJsonData_ = histogramJsonData_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.datalogJsonData_ = datalogJsonData_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData) {
          return mergeFrom((com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData other) {
        if (other == com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.getDefaultInstance()) return this;
        if (other.hasVehicleId()) {
          bitField0_ |= 0x00000001;
          vehicleId_ = other.vehicleId_;
          onChanged();
        }
        if (other.hasEventId()) {
          bitField0_ |= 0x00000002;
          eventId_ = other.eventId_;
          onChanged();
        }
        if (other.hasEventCreationTime()) {
          setEventCreationTime(other.getEventCreationTime());
        }
        if (other.hasUploadVehicleLocation()) {
          mergeUploadVehicleLocation(other.getUploadVehicleLocation());
        }
        if (other.hasQuickScanData()) {
          mergeQuickScanData(other.getQuickScanData());
        }
        if (other.hasDtcScanData()) {
          mergeDtcScanData(other.getDtcScanData());
        }
        if (other.hasHistogram()) {
          mergeHistogram(other.getHistogram());
        }
        if (other.hasDatalog()) {
          mergeDatalog(other.getDatalog());
        }
        if (other.hasGenericData()) {
          mergeGenericData(other.getGenericData());
        }
        if (other.hasSgwData()) {
          mergeSgwData(other.getSgwData());
        }
        if (other.hasServiceName()) {
          setServiceName(other.getServiceName());
        }
        if (other.hasHistogramJsonData()) {
          setHistogramJsonData(other.getHistogramJsonData());
        }
        if (other.hasDatalogJsonData()) {
          setDatalogJsonData(other.getDatalogJsonData());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object vehicleId_ = "";
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public boolean hasVehicleId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public java.lang.String getVehicleId() {
        java.lang.Object ref = vehicleId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            vehicleId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getVehicleIdBytes() {
        java.lang.Object ref = vehicleId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          vehicleId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public Builder setVehicleId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        vehicleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public Builder clearVehicleId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        vehicleId_ = getDefaultInstance().getVehicleId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string vehicleId = 1;</code>
       */
      public Builder setVehicleIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        vehicleId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object eventId_ = "";
      /**
       * <code>optional string eventId = 2;</code>
       */
      public boolean hasEventId() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string eventId = 2;</code>
       */
      public java.lang.String getEventId() {
        java.lang.Object ref = eventId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            eventId_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string eventId = 2;</code>
       */
      public com.google.protobuf.ByteString
          getEventIdBytes() {
        java.lang.Object ref = eventId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          eventId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string eventId = 2;</code>
       */
      public Builder setEventId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        eventId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string eventId = 2;</code>
       */
      public Builder clearEventId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        eventId_ = getDefaultInstance().getEventId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string eventId = 2;</code>
       */
      public Builder setEventIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        eventId_ = value;
        onChanged();
        return this;
      }

      private long eventCreationTime_ ;
      /**
       * <code>optional int64 eventCreationTime = 3;</code>
       */
      public boolean hasEventCreationTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int64 eventCreationTime = 3;</code>
       */
      public long getEventCreationTime() {
        return eventCreationTime_;
      }
      /**
       * <code>optional int64 eventCreationTime = 3;</code>
       */
      public Builder setEventCreationTime(long value) {
        bitField0_ |= 0x00000004;
        eventCreationTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 eventCreationTime = 3;</code>
       */
      public Builder clearEventCreationTime() {
        bitField0_ = (bitField0_ & ~0x00000004);
        eventCreationTime_ = 0L;
        onChanged();
        return this;
      }

      private com.fca.uconnect.global.GlobalUconnectGNSS.Location uploadVehicleLocation_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> uploadVehicleLocationBuilder_;
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public boolean hasUploadVehicleLocation() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.Location getUploadVehicleLocation() {
        if (uploadVehicleLocationBuilder_ == null) {
          return uploadVehicleLocation_ == null ? com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : uploadVehicleLocation_;
        } else {
          return uploadVehicleLocationBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public Builder setUploadVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
        if (uploadVehicleLocationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          uploadVehicleLocation_ = value;
          onChanged();
        } else {
          uploadVehicleLocationBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public Builder setUploadVehicleLocation(
          com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder builderForValue) {
        if (uploadVehicleLocationBuilder_ == null) {
          uploadVehicleLocation_ = builderForValue.build();
          onChanged();
        } else {
          uploadVehicleLocationBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public Builder mergeUploadVehicleLocation(com.fca.uconnect.global.GlobalUconnectGNSS.Location value) {
        if (uploadVehicleLocationBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              uploadVehicleLocation_ != null &&
              uploadVehicleLocation_ != com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance()) {
            uploadVehicleLocation_ =
              com.fca.uconnect.global.GlobalUconnectGNSS.Location.newBuilder(uploadVehicleLocation_).mergeFrom(value).buildPartial();
          } else {
            uploadVehicleLocation_ = value;
          }
          onChanged();
        } else {
          uploadVehicleLocationBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public Builder clearUploadVehicleLocation() {
        if (uploadVehicleLocationBuilder_ == null) {
          uploadVehicleLocation_ = null;
          onChanged();
        } else {
          uploadVehicleLocationBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder getUploadVehicleLocationBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getUploadVehicleLocationFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder getUploadVehicleLocationOrBuilder() {
        if (uploadVehicleLocationBuilder_ != null) {
          return uploadVehicleLocationBuilder_.getMessageOrBuilder();
        } else {
          return uploadVehicleLocation_ == null ?
              com.fca.uconnect.global.GlobalUconnectGNSS.Location.getDefaultInstance() : uploadVehicleLocation_;
        }
      }
      /**
       * <pre>
       *&#47; Vehicle GPS Location during SQDF data upload
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.Location uploadVehicleLocation = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder> 
          getUploadVehicleLocationFieldBuilder() {
        if (uploadVehicleLocationBuilder_ == null) {
          uploadVehicleLocationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectGNSS.Location, com.fca.uconnect.global.GlobalUconnectGNSS.Location.Builder, com.fca.uconnect.global.GlobalUconnectGNSS.LocationOrBuilder>(
                  getUploadVehicleLocation(),
                  getParentForChildren(),
                  isClean());
          uploadVehicleLocation_ = null;
        }
        return uploadVehicleLocationBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan quickScanData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder> quickScanDataBuilder_;
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public boolean hasQuickScanData() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan getQuickScanData() {
        if (quickScanDataBuilder_ == null) {
          return quickScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance() : quickScanData_;
        } else {
          return quickScanDataBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public Builder setQuickScanData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan value) {
        if (quickScanDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          quickScanData_ = value;
          onChanged();
        } else {
          quickScanDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public Builder setQuickScanData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder builderForValue) {
        if (quickScanDataBuilder_ == null) {
          quickScanData_ = builderForValue.build();
          onChanged();
        } else {
          quickScanDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public Builder mergeQuickScanData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan value) {
        if (quickScanDataBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              quickScanData_ != null &&
              quickScanData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance()) {
            quickScanData_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.newBuilder(quickScanData_).mergeFrom(value).buildPartial();
          } else {
            quickScanData_ = value;
          }
          onChanged();
        } else {
          quickScanDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public Builder clearQuickScanData() {
        if (quickScanDataBuilder_ == null) {
          quickScanData_ = null;
          onChanged();
        } else {
          quickScanDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder getQuickScanDataBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getQuickScanDataFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder getQuickScanDataOrBuilder() {
        if (quickScanDataBuilder_ != null) {
          return quickScanDataBuilder_.getMessageOrBuilder();
        } else {
          return quickScanData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.getDefaultInstance() : quickScanData_;
        }
      }
      /**
       * <pre>
       *	optional double gpsLongitude = 5;
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.QuickScan quickScanData = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder> 
          getQuickScanDataFieldBuilder() {
        if (quickScanDataBuilder_ == null) {
          quickScanDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.QuickScanOrBuilder>(
                  getQuickScanData(),
                  getParentForChildren(),
                  isClean());
          quickScanData_ = null;
        }
        return quickScanDataBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan dtcScanData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder> dtcScanDataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public boolean hasDtcScanData() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan getDtcScanData() {
        if (dtcScanDataBuilder_ == null) {
          return dtcScanData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance() : dtcScanData_;
        } else {
          return dtcScanDataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public Builder setDtcScanData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan value) {
        if (dtcScanDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          dtcScanData_ = value;
          onChanged();
        } else {
          dtcScanDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public Builder setDtcScanData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder builderForValue) {
        if (dtcScanDataBuilder_ == null) {
          dtcScanData_ = builderForValue.build();
          onChanged();
        } else {
          dtcScanDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public Builder mergeDtcScanData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan value) {
        if (dtcScanDataBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020) &&
              dtcScanData_ != null &&
              dtcScanData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance()) {
            dtcScanData_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.newBuilder(dtcScanData_).mergeFrom(value).buildPartial();
          } else {
            dtcScanData_ = value;
          }
          onChanged();
        } else {
          dtcScanDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public Builder clearDtcScanData() {
        if (dtcScanDataBuilder_ == null) {
          dtcScanData_ = null;
          onChanged();
        } else {
          dtcScanDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder getDtcScanDataBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getDtcScanDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder getDtcScanDataOrBuilder() {
        if (dtcScanDataBuilder_ != null) {
          return dtcScanDataBuilder_.getMessageOrBuilder();
        } else {
          return dtcScanData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.getDefaultInstance() : dtcScanData_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.DTCScan dtcScanData = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder> 
          getDtcScanDataFieldBuilder() {
        if (dtcScanDataBuilder_ == null) {
          dtcScanDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScan.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DTCScanOrBuilder>(
                  getDtcScanData(),
                  getParentForChildren(),
                  isClean());
          dtcScanData_ = null;
        }
        return dtcScanDataBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram histogram_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder> histogramBuilder_;
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public boolean hasHistogram() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram getHistogram() {
        if (histogramBuilder_ == null) {
          return histogram_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance() : histogram_;
        } else {
          return histogramBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public Builder setHistogram(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram value) {
        if (histogramBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          histogram_ = value;
          onChanged();
        } else {
          histogramBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public Builder setHistogram(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder builderForValue) {
        if (histogramBuilder_ == null) {
          histogram_ = builderForValue.build();
          onChanged();
        } else {
          histogramBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public Builder mergeHistogram(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram value) {
        if (histogramBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040) &&
              histogram_ != null &&
              histogram_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance()) {
            histogram_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.newBuilder(histogram_).mergeFrom(value).buildPartial();
          } else {
            histogram_ = value;
          }
          onChanged();
        } else {
          histogramBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public Builder clearHistogram() {
        if (histogramBuilder_ == null) {
          histogram_ = null;
          onChanged();
        } else {
          histogramBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder getHistogramBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getHistogramFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder getHistogramOrBuilder() {
        if (histogramBuilder_ != null) {
          return histogramBuilder_.getMessageOrBuilder();
        } else {
          return histogram_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.getDefaultInstance() : histogram_;
        }
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading Histogram data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.Histogram histogram = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder> 
          getHistogramFieldBuilder() {
        if (histogramBuilder_ == null) {
          histogramBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.Histogram.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.HistogramOrBuilder>(
                  getHistogram(),
                  getParentForChildren(),
                  isClean());
          histogram_ = null;
        }
        return histogramBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog datalog_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder> datalogBuilder_;
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public boolean hasDatalog() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog getDatalog() {
        if (datalogBuilder_ == null) {
          return datalog_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance() : datalog_;
        } else {
          return datalogBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public Builder setDatalog(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog value) {
        if (datalogBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          datalog_ = value;
          onChanged();
        } else {
          datalogBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public Builder setDatalog(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder builderForValue) {
        if (datalogBuilder_ == null) {
          datalog_ = builderForValue.build();
          onChanged();
        } else {
          datalogBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public Builder mergeDatalog(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog value) {
        if (datalogBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              datalog_ != null &&
              datalog_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance()) {
            datalog_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.newBuilder(datalog_).mergeFrom(value).buildPartial();
          } else {
            datalog_ = value;
          }
          onChanged();
        } else {
          datalogBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public Builder clearDatalog() {
        if (datalogBuilder_ == null) {
          datalog_ = null;
          onChanged();
        } else {
          datalogBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder getDatalogBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getDatalogFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder getDatalogOrBuilder() {
        if (datalogBuilder_ != null) {
          return datalogBuilder_.getMessageOrBuilder();
        } else {
          return datalog_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.getDefaultInstance() : datalog_;
        }
      }
      /**
       * <pre>
       *&#47; Protobuf format to support uploading DataLog data.
       * </pre>
       *
       * <code>optional .com.fca.uconnect.global.SQDFData.DataLog datalog = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder> 
          getDatalogFieldBuilder() {
        if (datalogBuilder_ == null) {
          datalogBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLog.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.DataLogOrBuilder>(
                  getDatalog(),
                  getParentForChildren(),
                  isClean());
          datalog_ = null;
        }
        return datalogBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData genericData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder> genericDataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public boolean hasGenericData() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData getGenericData() {
        if (genericDataBuilder_ == null) {
          return genericData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance() : genericData_;
        } else {
          return genericDataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public Builder setGenericData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData value) {
        if (genericDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          genericData_ = value;
          onChanged();
        } else {
          genericDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public Builder setGenericData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder builderForValue) {
        if (genericDataBuilder_ == null) {
          genericData_ = builderForValue.build();
          onChanged();
        } else {
          genericDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public Builder mergeGenericData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData value) {
        if (genericDataBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              genericData_ != null &&
              genericData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance()) {
            genericData_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.newBuilder(genericData_).mergeFrom(value).buildPartial();
          } else {
            genericData_ = value;
          }
          onChanged();
        } else {
          genericDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public Builder clearGenericData() {
        if (genericDataBuilder_ == null) {
          genericData_ = null;
          onChanged();
        } else {
          genericDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder getGenericDataBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getGenericDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder getGenericDataOrBuilder() {
        if (genericDataBuilder_ != null) {
          return genericDataBuilder_.getMessageOrBuilder();
        } else {
          return genericData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.getDefaultInstance() : genericData_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.GenericData genericData = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder> 
          getGenericDataFieldBuilder() {
        if (genericDataBuilder_ == null) {
          genericDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.GenericDataOrBuilder>(
                  getGenericData(),
                  getParentForChildren(),
                  isClean());
          genericData_ = null;
        }
        return genericDataBuilder_;
      }

      private com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData sgwData_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder> sgwDataBuilder_;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public boolean hasSgwData() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData getSgwData() {
        if (sgwDataBuilder_ == null) {
          return sgwData_ == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance() : sgwData_;
        } else {
          return sgwDataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public Builder setSgwData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData value) {
        if (sgwDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sgwData_ = value;
          onChanged();
        } else {
          sgwDataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public Builder setSgwData(
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder builderForValue) {
        if (sgwDataBuilder_ == null) {
          sgwData_ = builderForValue.build();
          onChanged();
        } else {
          sgwDataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public Builder mergeSgwData(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData value) {
        if (sgwDataBuilder_ == null) {
          if (((bitField0_ & 0x00000200) == 0x00000200) &&
              sgwData_ != null &&
              sgwData_ != com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance()) {
            sgwData_ =
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.newBuilder(sgwData_).mergeFrom(value).buildPartial();
          } else {
            sgwData_ = value;
          }
          onChanged();
        } else {
          sgwDataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000200;
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public Builder clearSgwData() {
        if (sgwDataBuilder_ == null) {
          sgwData_ = null;
          onChanged();
        } else {
          sgwDataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder getSgwDataBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getSgwDataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder getSgwDataOrBuilder() {
        if (sgwDataBuilder_ != null) {
          return sgwDataBuilder_.getMessageOrBuilder();
        } else {
          return sgwData_ == null ?
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.getDefaultInstance() : sgwData_;
        }
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.SGWData sgwData = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder> 
          getSgwDataFieldBuilder() {
        if (sgwDataBuilder_ == null) {
          sgwDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWData.Builder, com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.SGWDataOrBuilder>(
                  getSgwData(),
                  getParentForChildren(),
                  isClean());
          sgwData_ = null;
        }
        return sgwDataBuilder_;
      }

      private int serviceName_ = 0;
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
       */
      public boolean hasServiceName() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
       */
      public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum getServiceName() {
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum result = com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum.valueOf(serviceName_);
        return result == null ? com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum.VRC : result;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
       */
      public Builder setServiceName(com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData.ServiceNameEnum value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000400;
        serviceName_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .com.fca.uconnect.global.SQDFData.ServiceNameEnum serviceName = 12;</code>
       */
      public Builder clearServiceName() {
        bitField0_ = (bitField0_ & ~0x00000400);
        serviceName_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString histogramJsonData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *&#47; Support legacy approach for passing through Histogram data in JSON format.
       * </pre>
       *
       * <code>optional bytes histogramJsonData = 13;</code>
       */
      public boolean hasHistogramJsonData() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through Histogram data in JSON format.
       * </pre>
       *
       * <code>optional bytes histogramJsonData = 13;</code>
       */
      public com.google.protobuf.ByteString getHistogramJsonData() {
        return histogramJsonData_;
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through Histogram data in JSON format.
       * </pre>
       *
       * <code>optional bytes histogramJsonData = 13;</code>
       */
      public Builder setHistogramJsonData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000800;
        histogramJsonData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through Histogram data in JSON format.
       * </pre>
       *
       * <code>optional bytes histogramJsonData = 13;</code>
       */
      public Builder clearHistogramJsonData() {
        bitField0_ = (bitField0_ & ~0x00000800);
        histogramJsonData_ = getDefaultInstance().getHistogramJsonData();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString datalogJsonData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *&#47; Support legacy approach for passing through DataLog data in JSON format.
       * </pre>
       *
       * <code>optional bytes datalogJsonData = 14;</code>
       */
      public boolean hasDatalogJsonData() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through DataLog data in JSON format.
       * </pre>
       *
       * <code>optional bytes datalogJsonData = 14;</code>
       */
      public com.google.protobuf.ByteString getDatalogJsonData() {
        return datalogJsonData_;
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through DataLog data in JSON format.
       * </pre>
       *
       * <code>optional bytes datalogJsonData = 14;</code>
       */
      public Builder setDatalogJsonData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        datalogJsonData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *&#47; Support legacy approach for passing through DataLog data in JSON format.
       * </pre>
       *
       * <code>optional bytes datalogJsonData = 14;</code>
       */
      public Builder clearDatalogJsonData() {
        bitField0_ = (bitField0_ & ~0x00001000);
        datalogJsonData_ = getDefaultInstance().getDatalogJsonData();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.fca.uconnect.global.SQDFData)
    }

    // @@protoc_insertion_point(class_scope:com.fca.uconnect.global.SQDFData)
    private static final com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData();
    }

    public static com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<SQDFData>
        PARSER = new com.google.protobuf.AbstractParser<SQDFData>() {
      public SQDFData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new SQDFData(input, extensionRegistry);
      }
    };

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

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

    public com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public static final int SQDFPUBLISH_FIELD_NUMBER = 720;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish> sqdfPublish = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.class,
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFPublish.getDefaultInstance());
  public static final int SQDFRESPONSE_FIELD_NUMBER = 721;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse> sqdfResponse = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.class,
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFResponse.getDefaultInstance());
  public static final int SQDFREQUEST_FIELD_NUMBER = 722;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest> sqdfRequest = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.class,
        com.fca.uconnect.global.GlobalUconnectExtSQDF.SQDFRequest.getDefaultInstance());
  public static final int SQDFACKMESSAGE_FIELD_NUMBER = 723;
  /**
   * <code>extend .com.fca.uconnect.global.UconnectAny { ... }</code>
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.fca.uconnect.global.GlobalUconnectControl.UconnectAny,
      com.fca.uconnect.global.GlobalUconnectControl.AckMessage> sqdfAckMessage = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        com.fca.uconnect.global.GlobalUconnectControl.AckMessage.class,
        com.fca.uconnect.global.GlobalUconnectControl.AckMessage.getDefaultInstance());
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFPublish_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFPublish_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_VehicleData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_VehicleData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_SGWData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_GenericData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_ECUData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_QuickScan_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_DTCScan_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_Histogram_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_DataLog_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_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\036Global_Uconnect_Ext_SQDF.proto\022\027com.fc" +
      "a.uconnect.global\032\035Global_Uconnect_Contr" +
      "ol.proto\032!Global_Uconnect_VehicleInfo.pr" +
      "oto\">\n\013SQDFPublish\022/\n\004data\030\001 \001(\0132!.com.f" +
      "ca.uconnect.global.SQDFData\"\356\001\n\014SQDFResp" +
      "onse\022/\n\004data\030\001 \001(\0132!.com.fca.uconnect.gl" +
      "obal.SQDFData\022G\n\006status\030\002 \001(\01627.com.fca." +
      "uconnect.global.SQDFResponse.SQDFCommand" +
      "Status\"d\n\021SQDFCommandStatus\022\016\n\nSuccessfu" +
      "l\020\001\022\020\n\014GenericError\020\002\022\023\n\017UnknownCommands",
      "\020\003\022\030\n\024CommandNotApplicable\020\004\"\236\001\n\013SQDFReq" +
      "uest\022A\n\007command\030\001 \001(\01620.com.fca.uconnect" +
      ".global.SQDFRequest.SQDFCommand\"L\n\013SQDFC" +
      "ommand\022\014\n\010SendData\020\001\022\017\n\013DoQuickScan\020\002\022\r\n" +
      "\tDoDTCScan\020\003\022\017\n\013DoHistogram\020\004\"\303\027\n\013Vehicl" +
      "eData\022\013\n\003ODO\030\002 \001(\005\022\031\n\021distanceToService\030" +
      "\003 \001(\002\022\027\n\017isAutoOilChgReq\030\004 \001(\010\022\023\n\013oilLif" +
      "eLeft\030\005 \001(\005\022\017\n\007IBS_SOC\030\006 \001(\002\022\036\n\026travelin" +
      "gTimeAPlusHour\030\007 \001(\005\022 \n\030travelingTimeAPl" +
      "usMinute\030\010 \001(\005\022;\n\014tirePressure\030\t \001(\0132%.c",
      "om.fca.uconnect.global.TirePressure\022\021\n\ti" +
      "sMILOnRq\030\n \001(\010\022\023\n\013isGlowPlugs\030\013 \001(\010\022\032\n\022i" +
      "sLHTurnLightFault\030\014 \001(\010\022\032\n\022isRGTurnLight" +
      "Fault\030\r \001(\010\022\027\n\017isPlateLmpFault\030\016 \001(\010\022\022\n\n" +
      "isDRLFault\030\017 \001(\010\022\026\n\016isFuelLevelLow\030\020 \001(\010" +
      "\022\032\n\022isBatteryLampStsOn\030\021 \001(\010\022S\n\020isChrgSy" +
      "stemFail\030\022 \001(\01629.com.fca.uconnect.global" +
      ".VehicleData.ChargeSystemFailEnum\022\025\n\risF" +
      "uelCapOpen\030\023 \001(\010\022\030\n\020isParkingFailSts\030\024 \001" +
      "(\010\022\033\n\023isHillHolderFailSts\030\025 \001(\010\022L\n\020isEBD",
      "LAMPFailSts\030\026 \001(\01622.com.fca.uconnect.glo" +
      "bal.VehicleData.LampStateEnum\022K\n\017isTPMIn" +
      "dLmpOnRq\030\027 \001(\01622.com.fca.uconnect.global" +
      ".VehicleData.LampStateEnum\022\027\n\017isBreakFlu" +
      "idLow\030\030 \001(\010\022\026\n\016isWashFluidLow\030\031 \001(\010\022\031\n\021i" +
      "sBSMServiceReqOn\030\032 \001(\010\022\020\n\010numStops\030\033 \001(\005" +
      "\022\025\n\rnumHardBrakes\030\034 \001(\005\022Q\n\016maintenanceSt" +
      "s\030\035 \001(\01629.com.fca.uconnect.global.Vehicl" +
      "eData.MaintenanceStateEnum\022\033\n\023vrcUploadD" +
      "ayOfMonth\030Z \001(\005\022\032\n\022vrcUploadTimeStamp\030\036 ",
      "\001(\003\022\025\n\rengineRunTime\030\037 \001(\005\022\026\n\016avgFuelEco" +
      "nomy\030  \001(\005\022\026\n\016batteryVoltage\030! \001(\002\022L\n\014di" +
      "stanceUnit\030\" \001(\01626.com.fca.uconnect.glob" +
      "al.VehicleData.DistanceUnitsEnum\022\030\n\020isRu" +
      "nFlatTireLow\030# \001(\010\022\020\n\010gasRange\030$ \001(\005\022\021\n\t" +
      "tripAKMPL\030% \001(\005\022\020\n\010tripAMPG\030& \001(\005\022\021\n\ttri" +
      "pBKMPL\030\' \001(\005\022\020\n\010tripBMPG\030( \001(\005\022\030\n\020tripAT" +
      "otalDistKM\030) \001(\005\022\033\n\023tripATotalDistMiles\030" +
      "* \001(\005\022\030\n\020tripBTotalDistKM\030+ \001(\005\022\033\n\023tripB" +
      "TotalDistMiles\030, \001(\005\022\024\n\014vehicleSpeed\030. \001",
      "(\002\022\035\n\025ambientAvgTemperature\0300 \001(\005\022\025\n\rdpf" +
      "DEFWarning\0302 \001(\005\022Q\n\025brakeLampIndicatorSt" +
      "s\0309 \001(\01622.com.fca.uconnect.global.Vehicl" +
      "eData.LampStateEnum\022\025\n\rTxTemp_Excess\030: \001" +
      "(\t\022\013\n\003PFW\030; \001(\t\022\022\n\nIBS_I_BATT\030< \001(\021\022\022\n\nI" +
      "BS_T_BATT\030= \001(\021\022\022\n\nIBS_V_BATT\030> \001(\002\022H\n\014e" +
      "tcLmpIndSts\030D \001(\01622.com.fca.uconnect.glo" +
      "bal.VehicleData.LampStateEnum\022\031\n\021isEngin" +
      "eOilLampOn\030F \001(\010\022\032\n\022oilTempIndicatorRq\030G" +
      " \001(\005\022F\n\nabsLampSts\030J \001(\01622.com.fca.uconn",
      "ect.global.VehicleData.LampStateEnum\022H\n\014" +
      "srsIndLmpSts\030L \001(\01622.com.fca.uconnect.gl" +
      "obal.VehicleData.LampStateEnum\022\023\n\013oilPre" +
      "ssure\030[ \001(\005\022E\n\tsrsLmpSts\030\\ \001(\01622.com.fca" +
      ".uconnect.global.VehicleData.LampStateEn" +
      "um\022L\n\020wtrFuelIndLmpSts\030] \001(\01622.com.fca.u" +
      "connect.global.VehicleData.LampStateEnum" +
      "\022\026\n\016vcFuelCapacity\030^ \001(\005\022\026\n\016isBSM_OPR_ST" +
      "AT\030_ \001(\010\022\022\n\navgFuelLvl\030` \001(\005\022E\n\repsWarnD" +
      "ispRq\030a \001(\0162..com.fca.uconnect.global.Ve",
      "hicleData.StateEnum\022J\n\016escCntrlLmpSts\030b " +
      "\001(\01622.com.fca.uconnect.global.VehicleDat" +
      "a.LampStateEnum\022\024\n\014isPTS_FT_SRV\030c \001(\010\022\024\n" +
      "\014isPTS_RR_SRV\030d \001(\010\022\024\n\014isADS_SrvSys\030e \001(" +
      "\010\022\024\n\014isACCFaulted\030f \001(\010\022\034\n\024isACCOnlyNA_D" +
      "ASMSSts\030g \001(\010\022\024\n\014mapRequestCd\030h \001(\t\022\035\n\025i" +
      "sNavigationActivated\030i \001(\010\022\024\n\014isSPLmpFau" +
      "lt\030j \001(\010\022\022\n\nA_EV_Miles\030k \001(\002\022\027\n\017A_EV_Kil" +
      "ometers\030l \001(\002\022\026\n\016A_Hybrid_Miles\030m \001(\002\022\033\n" +
      "\023A_Hybrid_Kilometers\030n \001(\002\022\022\n\nB_EV_Miles",
      "\030o \001(\002\022\027\n\017B_EV_Kilometers\030p \001(\002\022\026\n\016B_Hyb" +
      "rid_Miles\030q \001(\002\022\033\n\023B_Hybrid_Kilometers\030r" +
      " \001(\002\"4\n\024ChargeSystemFailEnum\022\t\n\005FALSE\020\000\022" +
      "\010\n\004TRUE\020\001\022\007\n\003SNA\020\002\"[\n\tStateEnum\022\016\n\nSTATE" +
      "_ZERO\020\000\022\r\n\tSTATE_ONE\020\001\022\r\n\tSTATE_TWO\020\002\022\017\n" +
      "\013STATE_THREE\020\003\022\017\n\013STATE_SEVEN\020\007\"B\n\024Maint" +
      "enanceStateEnum\022\010\n\004NONE\020\000\022\010\n\004SOON\020\001\022\007\n\003N" +
      "OW\020\002\022\r\n\tSNA_STATE\020\003\".\n\021DistanceUnitsEnum" +
      "\022\t\n\005MILES\020\000\022\016\n\nKILOMETERS\020\001\"6\n\rLampState" +
      "Enum\022\010\n\004ZERO\020\000\022\007\n\003ONE\020\001\022\007\n\003TWO\020\002\022\t\n\005THRE",
      "E\020\003\"\254%\n\010SQDFData\022\021\n\tvehicleId\030\001 \001(\t\022\017\n\007e" +
      "ventId\030\002 \001(\t\022\031\n\021eventCreationTime\030\003 \001(\003\022" +
      "@\n\025uploadVehicleLocation\030\004 \001(\0132!.com.fca" +
      ".uconnect.global.Location\022B\n\rquickScanDa" +
      "ta\030\006 \001(\0132+.com.fca.uconnect.global.SQDFD" +
      "ata.QuickScan\022>\n\013dtcScanData\030\007 \001(\0132).com" +
      ".fca.uconnect.global.SQDFData.DTCScan\022>\n" +
      "\thistogram\030\010 \001(\0132+.com.fca.uconnect.glob" +
      "al.SQDFData.Histogram\022:\n\007datalog\030\t \001(\0132)" +
      ".com.fca.uconnect.global.SQDFData.DataLo",
      "g\022B\n\013genericData\030\n \001(\0132-.com.fca.uconnec" +
      "t.global.SQDFData.GenericData\022:\n\007sgwData" +
      "\030\013 \001(\0132).com.fca.uconnect.global.SQDFDat" +
      "a.SGWData\022F\n\013serviceName\030\014 \001(\01621.com.fca" +
      ".uconnect.global.SQDFData.ServiceNameEnu" +
      "m\022\031\n\021histogramJsonData\030\r \001(\014\022\027\n\017datalogJ" +
      "sonData\030\016 \001(\014\032\266\001\n\007SGWData\022:\n\007ecuData\030\001 \001" +
      "(\0132).com.fca.uconnect.global.SQDFData.EC" +
      "UData\022\026\n\016monthlyPayload\030\002 \001(\005\022\030\n\020uploadD" +
      "ayOfMonth\030\003 \001(\005\022\027\n\017uploadTimestamp\030\004 \001(\003",
      "\022\023\n\013gatewayLogs\030\005 \001(\014\022\017\n\007idsLogs\030\006 \001(\014\032H" +
      "\n\013GenericData\0229\n\013vehicleData\030\001 \001(\0132$.com" +
      ".fca.uconnect.global.VehicleData\032\300\001\n\007ECU" +
      "Data\022\r\n\005ecuId\030\001 \001(\t\022?\n\004type\030\002 \001(\01621.com." +
      "fca.uconnect.global.SQDFData.ECUData.Can" +
      "Type\022\022\n\nresponseId\030\003 \001(\005\022\020\n\010canFrame\030\004 \001" +
      "(\014\"?\n\007CanType\022\010\n\004CCAN\020\001\022\022\n\016BHCAN_OR_I_CA" +
      "N\020\002\022\n\n\006C1_CAN\020\003\022\n\n\006C2_CAN\020\004\032\253\001\n\tQuickSca" +
      "n\022\013\n\003ODO\030\001 \001(\005\022>\n\023scanVehicleLocation\030\002 " +
      "\001(\0132!.com.fca.uconnect.global.Location\022\025",
      "\n\rscanTimestamp\030\006 \001(\003\022:\n\007ecuData\030\007 \003(\0132)" +
      ".com.fca.uconnect.global.SQDFData.ECUDat" +
      "a\032\357\003\n\007DTCScan\022\022\n\nmaskedDTCs\030\001 \003(\t\022$\n\034tri" +
      "ggerDTCDetectionTimestamp\030\002 \001(\003\022F\n\010trigg" +
      "ers\030\003 \003(\01324.com.fca.uconnect.global.SQDF" +
      "Data.DTCScan.DTCTrigger\0229\n\013vehicleData\030\004" +
      " \001(\0132$.com.fca.uconnect.global.VehicleDa" +
      "ta\022A\n\016dtcScanECUData\030\005 \003(\0132).com.fca.uco" +
      "nnect.global.SQDFData.ECUData\022>\n\023scanVeh" +
      "icleLocation\030\006 \001(\0132!.com.fca.uconnect.gl",
      "obal.Location\032\243\001\n\nDTCTrigger\022T\n\007trigger\030" +
      "\001 \001(\0162C.com.fca.uconnect.global.SQDFData" +
      ".DTCScan.DTCTrigger.DTCTriggerType\022\014\n\004na" +
      "me\030\002 \001(\t\"1\n\016DTCTriggerType\022\007\n\003ECU\020\001\022\010\n\004L" +
      "AMP\020\002\022\014\n\010ECU_SWAP\020\003\032\265\002\n\tHistogram\022\017\n\007ver" +
      "sion\030\001 \001(\t\022\021\n\ttimestamp\030\002 \001(\003\022P\n\rhistogr" +
      "amData\030\003 \003(\01329.com.fca.uconnect.global.S" +
      "QDFData.Histogram.HistogramData\032\261\001\n\rHist" +
      "ogramData\022\023\n\013histogramId\030\001 \001(\005\022]\n\rhistog" +
      "ramBins\030\002 \003(\0132F.com.fca.uconnect.global.",
      "SQDFData.Histogram.HistogramData.Histogr" +
      "amBin\032,\n\014HistogramBin\022\r\n\005binId\030\001 \001(\t\022\r\n\005" +
      "count\030\002 \001(\005\032\304\024\n\007DataLog\022\021\n\ttimestamp\030\001 \001" +
      "(\003\022\017\n\007version\030\002 \001(\t\022J\n\013dataLogData\030\003 \003(\013" +
      "25.com.fca.uconnect.global.SQDFData.Data" +
      "Log.DataLogData\032\310\023\n\013DataLogData\022\021\n\ttimes" +
      "tamp\030\001 \001(\003\022K\n\007logData\030\004 \001(\0132:.com.fca.uc" +
      "onnect.global.SQDFData.DataLog.DataLogDa" +
      "ta.Data\032\330\022\n\004Data\022\026\n\016batteryVoltage\030\001 \001(\002" +
      "\022\021\n\tengineRPM\030\002 \001(\002\022\024\n\014vehicleSpeed\030\003 \001(",
      "\002\022\033\n\023ignitionOffTimeLong\030\004 \001(\005\022\032\n\022instan" +
      "tFuelEconomy\030\005 \001(\005\022\n\n\002Gr\030\006 \001(\005\022\021\n\tisMILO" +
      "nRq\030\007 \001(\010\022\013\n\003ODO\030\010 \001(\005\022\022\n\navgFuelLvl\030\t \001" +
      "(\005\022\034\n\024engineOilTemperature\030\n \001(\005\022 \n\030engi" +
      "neCoolantTemperature\030\013 \001(\005\022\026\n\016isDayLight" +
      "Mode\030\014 \001(\010\022\024\n\014isEModeSatus\030\r \001(\014\022\027\n\017driv" +
      "erDoorSatus\030\016 \001(\014\022\031\n\021CmdIgnitionStatus\030\017" +
      " \001(\014\022!\n\031frontLeftHeatedSeatStatus\030\020 \001(\014\022" +
      "\025\n\rautoDfgStatus\030\021 \001(\014\022\021\n\tFT_FOG_RQ\030\022 \001(" +
      "\014\022\031\n\021isACClutchEngaged\030\023 \001(\010\022\025\n\rvehPerfA",
      "ccelX\030\024 \001(\002\022\025\n\rVehPerfAccelY\030\025 \001(\002\022\"\n\032fr" +
      "ontRightHeatedSeatStatus\030\026 \001(\014\022\022\n\nspStSw" +
      "Stat\030\027 \001(\014\022\027\n\017essEngineStatus\030\030 \001(\014\022\035\n\025a" +
      "mbientTemperatureAvg\030\031 \001(\005\022;\n\014tirePressu" +
      "re\030\032 \001(\0132%.com.fca.uconnect.global.TireP" +
      "ressure\022\022\n\nmzrModeAct\030\033 \001(\014\022\033\n\023dpfDefWar" +
      "ningStatus\030\034 \001(\014\022I\n\rabsLampStatus\030\035 \001(\0162" +
      "2.com.fca.uconnect.global.VehicleData.La" +
      "mpStateEnum\022\030\n\020brkIndLmpOnRqESC\030\036 \001(\014\022\026\n" +
      "\016isCheckFuelCap\030\037 \001(\010\022H\n\014etcLmpIndSts\030  ",
      "\001(\01622.com.fca.uconnect.global.VehicleDat" +
      "a.LampStateEnum\022\023\n\013oilPressure\030! \001(\005\022\024\n\014" +
      "txTempExcess\030\" \001(\014\022H\n\014srsIndLmpSts\030# \001(\016" +
      "22.com.fca.uconnect.global.VehicleData.L" +
      "ampStateEnum\022\027\n\017isBrakeFluidLow\030$ \001(\010\022\031\n" +
      "\021isEngineOilLampOn\030% \001(\010\022\032\n\022oilTempIndic" +
      "atorRq\030& \001(\005\022\026\n\016engineTrqRqEsc\030( \001(\005\022\022\n\n" +
      "engineLoad\030) \001(\005\022\022\n\nIBS_T_BATT\030* \001(\021\022\022\n\n" +
      "IBS_V_BATT\030+ \001(\002\022\017\n\007IBS_SOC\030, \001(\002\022\025\n\rbat" +
      "terySTCrit\030- \001(\014\022\037\n\027BoostPressureIndicat",
      "ion\030. \001(\005\022\027\n\017rainSensorLevel\030/ \001(\005\022$\n\034ac" +
      "tlAcceleratorPedalPosition\0300 \001(\005\022 \n\030acce" +
      "leratorPedalPosition\0301 \001(\005\022\022\n\nIBS_I_BATT" +
      "\0302 \001(\021\022\020\n\010fuelCons\0303 \001(\005\022\032\n\022engineTorque" +
      "Static\0304 \001(\005\022\023\n\013brakeStatus\0305 \001(\014\022\025\n\rabs" +
      "BrakeEvent\0306 \001(\014\022\024\n\014spStDispstat\0307 \001(\014\022\021" +
      "\n\tVC_AS_ERS\0308 \001(\005\022\024\n\014DrvRqShftROT\0309 \001(\005\022" +
      "\022\n\nEPBHoldSts\030: \001(\014\022\020\n\010Pad_Shft\030; \001(\005\022\030\n" +
      "\020TCaseAWD_DrvMdRq\030< \001(\005\022\023\n\013TRNS_SPD_MC\030=" +
      " \001(\005\022\027\n\017Trns_EMCC_Achvd\030> \001(\005\022\031\n\021outputS",
      "pdPolarity\030? \001(\014\022\023\n\013outputSpeed\030@ \001(\005\022\r\n" +
      "\005nTurb\030A \001(\005\022\n\n\002KS\030B \001(\005\022\017\n\007K_STO_B\030C \001(" +
      "\005\022\r\n\005K_S_B\030D \001(\005\022\r\n\005K_O_B\030E \001(\005\022\r\n\005K_G_B" +
      "\030F \001(\005\022\020\n\010grTarget\030G \001(\005\022\036\n\026gearSwitchAc" +
      "tiveStatus\030H \001(\014\022\031\n\021EngSt_Enbl_Rq_TCM\030I " +
      "\001(\014\022\017\n\007TX_TEMP\030J \001(\005\022\023\n\013BrkPrss_TMC\030K \001(" +
      "\005\022\024\n\014PrplsnSysAtv\030L \001(\005\022\022\n\nDriveReady\030M " +
      "\001(\014\022\021\n\tPRND_STAT\030N \001(\014\022\027\n\017HVBatCntctrSta" +
      "t\030O \001(\014\022\034\n\024chargingSystemStatus\030P \001(\014\022\025\n" +
      "\rchargingLevel\030Q \001(\005\022\024\n\014HVBatSOC_HCP\030R \001",
      "(\005\022\031\n\021wheelRPMRearRight\030S \001(\005\022\030\n\020wheelRP" +
      "MRearLeft\030T \001(\005\022\032\n\022wheelRPMFrontRight\030U " +
      "\001(\005\022\031\n\021wheelRPMFrontLeft\030V \001(\005\022\022\n\nTCASE_" +
      "STAT\030W \001(\014\022\021\n\tSHFT_PROG\030Y \001(\014\022\030\n\020CC_SetS" +
      "pdDsplMPH\030Z \001(\005\022\020\n\010ACCOnOff\030[ \001(\014\022\022\n\nCRU" +
      "ISE_EGD\030\\ \001(\005\022\030\n\020TrnsTrqReqSlow_2\030] \001(\005\022" +
      "\027\n\017ConsumptionUnit\030^ \001(\014\022\020\n\010PFW_Stat\030_ \001" +
      "(\014\022\017\n\007Map_Eng\030` \001(\014\022\025\n\radblue_FL_LVL\030a \001" +
      "(\005\">\n\017ServiceNameEnum\022\007\n\003VRC\020\000\022\007\n\003DTC\020\001\022" +
      "\007\n\003GCD\020\002\022\007\n\003MTR\020\003\022\007\n\003SGW\020\004:`\n\013sqdfPublis",
      "h\022$.com.fca.uconnect.global.UconnectAny\030" +
      "\320\005 \001(\0132$.com.fca.uconnect.global.SQDFPub" +
      "lish:b\n\014sqdfResponse\022$.com.fca.uconnect." +
      "global.UconnectAny\030\321\005 \001(\0132%.com.fca.ucon" +
      "nect.global.SQDFResponse:`\n\013sqdfRequest\022" +
      "$.com.fca.uconnect.global.UconnectAny\030\322\005" +
      " \001(\0132$.com.fca.uconnect.global.SQDFReque" +
      "st:b\n\016sqdfAckMessage\022$.com.fca.uconnect." +
      "global.UconnectAny\030\323\005 \001(\0132#.com.fca.ucon" +
      "nect.global.AckMessageP\000P\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.fca.uconnect.global.GlobalUconnectControl.getDescriptor(),
          com.fca.uconnect.global.GlobalUconnectVehicleInfo.getDescriptor(),
        }, assigner);
    internal_static_com_fca_uconnect_global_SQDFPublish_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFPublish_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFPublish_descriptor,
        new java.lang.String[] { "Data", });
    internal_static_com_fca_uconnect_global_SQDFResponse_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_fca_uconnect_global_SQDFResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFResponse_descriptor,
        new java.lang.String[] { "Data", "Status", });
    internal_static_com_fca_uconnect_global_SQDFRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_fca_uconnect_global_SQDFRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFRequest_descriptor,
        new java.lang.String[] { "Command", });
    internal_static_com_fca_uconnect_global_VehicleData_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_com_fca_uconnect_global_VehicleData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_VehicleData_descriptor,
        new java.lang.String[] { "ODO", "DistanceToService", "IsAutoOilChgReq", "OilLifeLeft", "IBSSOC", "TravelingTimeAPlusHour", "TravelingTimeAPlusMinute", "TirePressure", "IsMILOnRq", "IsGlowPlugs", "IsLHTurnLightFault", "IsRGTurnLightFault", "IsPlateLmpFault", "IsDRLFault", "IsFuelLevelLow", "IsBatteryLampStsOn", "IsChrgSystemFail", "IsFuelCapOpen", "IsParkingFailSts", "IsHillHolderFailSts", "IsEBDLAMPFailSts", "IsTPMIndLmpOnRq", "IsBreakFluidLow", "IsWashFluidLow", "IsBSMServiceReqOn", "NumStops", "NumHardBrakes", "MaintenanceSts", "VrcUploadDayOfMonth", "VrcUploadTimeStamp", "EngineRunTime", "AvgFuelEconomy", "BatteryVoltage", "DistanceUnit", "IsRunFlatTireLow", "GasRange", "TripAKMPL", "TripAMPG", "TripBKMPL", "TripBMPG", "TripATotalDistKM", "TripATotalDistMiles", "TripBTotalDistKM", "TripBTotalDistMiles", "VehicleSpeed", "AmbientAvgTemperature", "DpfDEFWarning", "BrakeLampIndicatorSts", "TxTempExcess", "PFW", "IBSIBATT", "IBSTBATT", "IBSVBATT", "EtcLmpIndSts", "IsEngineOilLampOn", "OilTempIndicatorRq", "AbsLampSts", "SrsIndLmpSts", "OilPressure", "SrsLmpSts", "WtrFuelIndLmpSts", "VcFuelCapacity", "IsBSMOPRSTAT", "AvgFuelLvl", "EpsWarnDispRq", "EscCntrlLmpSts", "IsPTSFTSRV", "IsPTSRRSRV", "IsADSSrvSys", "IsACCFaulted", "IsACCOnlyNADASMSSts", "MapRequestCd", "IsNavigationActivated", "IsSPLmpFault", "AEVMiles", "AEVKilometers", "AHybridMiles", "AHybridKilometers", "BEVMiles", "BEVKilometers", "BHybridMiles", "BHybridKilometers", });
    internal_static_com_fca_uconnect_global_SQDFData_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_com_fca_uconnect_global_SQDFData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_descriptor,
        new java.lang.String[] { "VehicleId", "EventId", "EventCreationTime", "UploadVehicleLocation", "QuickScanData", "DtcScanData", "Histogram", "Datalog", "GenericData", "SgwData", "ServiceName", "HistogramJsonData", "DatalogJsonData", });
    internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_SGWData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_SGWData_descriptor,
        new java.lang.String[] { "EcuData", "MonthlyPayload", "UploadDayOfMonth", "UploadTimestamp", "GatewayLogs", "IdsLogs", });
    internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(1);
    internal_static_com_fca_uconnect_global_SQDFData_GenericData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_GenericData_descriptor,
        new java.lang.String[] { "VehicleData", });
    internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(2);
    internal_static_com_fca_uconnect_global_SQDFData_ECUData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_ECUData_descriptor,
        new java.lang.String[] { "EcuId", "Type", "ResponseId", "CanFrame", });
    internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(3);
    internal_static_com_fca_uconnect_global_SQDFData_QuickScan_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_QuickScan_descriptor,
        new java.lang.String[] { "ODO", "ScanVehicleLocation", "ScanTimestamp", "EcuData", });
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(4);
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor,
        new java.lang.String[] { "MaskedDTCs", "TriggerDTCDetectionTimestamp", "Triggers", "VehicleData", "DtcScanECUData", "ScanVehicleLocation", });
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_DTCScan_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_DTCScan_DTCTrigger_descriptor,
        new java.lang.String[] { "Trigger", "Name", });
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(5);
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor,
        new java.lang.String[] { "Version", "Timestamp", "HistogramData", });
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_Histogram_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor,
        new java.lang.String[] { "HistogramId", "HistogramBins", });
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_Histogram_HistogramData_HistogramBin_descriptor,
        new java.lang.String[] { "BinId", "Count", });
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_descriptor.getNestedTypes().get(6);
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor,
        new java.lang.String[] { "Timestamp", "Version", "DataLogData", });
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_DataLog_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor,
        new java.lang.String[] { "Timestamp", "LogData", });
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor =
      internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_descriptor.getNestedTypes().get(0);
    internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_fca_uconnect_global_SQDFData_DataLog_DataLogData_Data_descriptor,
        new java.lang.String[] { "BatteryVoltage", "EngineRPM", "VehicleSpeed", "IgnitionOffTimeLong", "InstantFuelEconomy", "Gr", "IsMILOnRq", "ODO", "AvgFuelLvl", "EngineOilTemperature", "EngineCoolantTemperature", "IsDayLightMode", "IsEModeSatus", "DriverDoorSatus", "CmdIgnitionStatus", "FrontLeftHeatedSeatStatus", "AutoDfgStatus", "FTFOGRQ", "IsACClutchEngaged", "VehPerfAccelX", "VehPerfAccelY", "FrontRightHeatedSeatStatus", "SpStSwStat", "EssEngineStatus", "AmbientTemperatureAvg", "TirePressure", "MzrModeAct", "DpfDefWarningStatus", "AbsLampStatus", "BrkIndLmpOnRqESC", "IsCheckFuelCap", "EtcLmpIndSts", "OilPressure", "TxTempExcess", "SrsIndLmpSts", "IsBrakeFluidLow", "IsEngineOilLampOn", "OilTempIndicatorRq", "EngineTrqRqEsc", "EngineLoad", "IBSTBATT", "IBSVBATT", "IBSSOC", "BatterySTCrit", "BoostPressureIndication", "RainSensorLevel", "ActlAcceleratorPedalPosition", "AcceleratorPedalPosition", "IBSIBATT", "FuelCons", "EngineTorqueStatic", "BrakeStatus", "AbsBrakeEvent", "SpStDispstat", "VCASERS", "DrvRqShftROT", "EPBHoldSts", "PadShft", "TCaseAWDDrvMdRq", "TRNSSPDMC", "TrnsEMCCAchvd", "OutputSpdPolarity", "OutputSpeed", "NTurb", "KS", "KSTOB", "KSB", "KOB", "KGB", "GrTarget", "GearSwitchActiveStatus", "EngStEnblRqTCM", "TXTEMP", "BrkPrssTMC", "PrplsnSysAtv", "DriveReady", "PRNDSTAT", "HVBatCntctrStat", "ChargingSystemStatus", "ChargingLevel", "HVBatSOCHCP", "WheelRPMRearRight", "WheelRPMRearLeft", "WheelRPMFrontRight", "WheelRPMFrontLeft", "TCASESTAT", "SHFTPROG", "CCSetSpdDsplMPH", "ACCOnOff", "CRUISEEGD", "TrnsTrqReqSlow2", "ConsumptionUnit", "PFWStat", "MapEng", "AdblueFLLVL", });
    sqdfPublish.internalInit(descriptor.getExtensions().get(0));
    sqdfResponse.internalInit(descriptor.getExtensions().get(1));
    sqdfRequest.internalInit(descriptor.getExtensions().get(2));
    sqdfAckMessage.internalInit(descriptor.getExtensions().get(3));
    com.fca.uconnect.global.GlobalUconnectControl.getDescriptor();
    com.fca.uconnect.global.GlobalUconnectVehicleInfo.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
