/*
 * Copyright (C) 2020-2021 Lightbend Inc. <https://www.lightbend.com>
 */

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

package akka.remote;

public final class ArteryControlFormats {
  private ArteryControlFormats() {}
  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      akka.protobufv3.internal.ExtensionRegistry registry) {
    registerAllExtensions(
        (akka.protobufv3.internal.ExtensionRegistryLite) registry);
  }
  public interface QuarantinedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Quarantined)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    boolean hasFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();

    /**
     * <code>required .UniqueAddress to = 2;</code>
     * @return Whether the to field is set.
     */
    boolean hasTo();
    /**
     * <code>required .UniqueAddress to = 2;</code>
     * @return The to.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getTo();
    /**
     * <code>required .UniqueAddress to = 2;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getToOrBuilder();
  }
  /**
   * Protobuf type {@code Quarantined}
   */
  public  static final class Quarantined extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Quarantined)
      QuarantinedOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Quarantined.newBuilder() to construct.
    private Quarantined(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Quarantined() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Quarantined();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Quarantined(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = from_.toBuilder();
              }
              from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(from_);
                from_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = to_.toBuilder();
              }
              to_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(to_);
                to_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_Quarantined_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_Quarantined_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.Quarantined.class, akka.remote.ArteryControlFormats.Quarantined.Builder.class);
    }

    private int bitField0_;
    public static final int FROM_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.UniqueAddress from_;
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    public boolean hasFrom() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }

    public static final int TO_FIELD_NUMBER = 2;
    private akka.remote.ArteryControlFormats.UniqueAddress to_;
    /**
     * <code>required .UniqueAddress to = 2;</code>
     * @return Whether the to field is set.
     */
    public boolean hasTo() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .UniqueAddress to = 2;</code>
     * @return The to.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getTo() {
      return to_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : to_;
    }
    /**
     * <code>required .UniqueAddress to = 2;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getToOrBuilder() {
      return to_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : to_;
    }

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

      if (!hasFrom()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getFrom().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTo().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getTo());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getTo());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.Quarantined)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.Quarantined other = (akka.remote.ArteryControlFormats.Quarantined) obj;

      if (hasFrom() != other.hasFrom()) return false;
      if (hasFrom()) {
        if (!getFrom()
            .equals(other.getFrom())) return false;
      }
      if (hasTo() != other.hasTo()) return false;
      if (hasTo()) {
        if (!getTo()
            .equals(other.getTo())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasFrom()) {
        hash = (37 * hash) + FROM_FIELD_NUMBER;
        hash = (53 * hash) + getFrom().hashCode();
      }
      if (hasTo()) {
        hash = (37 * hash) + TO_FIELD_NUMBER;
        hash = (53 * hash) + getTo().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Quarantined parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.Quarantined prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code Quarantined}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Quarantined)
        akka.remote.ArteryControlFormats.QuarantinedOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_Quarantined_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_Quarantined_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.Quarantined.class, akka.remote.ArteryControlFormats.Quarantined.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.Quarantined.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFromFieldBuilder();
          getToFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (fromBuilder_ == null) {
          from_ = null;
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (toBuilder_ == null) {
          to_ = null;
        } else {
          toBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_Quarantined_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Quarantined getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.Quarantined.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Quarantined build() {
        akka.remote.ArteryControlFormats.Quarantined result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Quarantined buildPartial() {
        akka.remote.ArteryControlFormats.Quarantined result = new akka.remote.ArteryControlFormats.Quarantined(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (fromBuilder_ == null) {
            result.from_ = from_;
          } else {
            result.from_ = fromBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (toBuilder_ == null) {
            result.to_ = to_;
          } else {
            result.to_ = toBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.Quarantined) {
          return mergeFrom((akka.remote.ArteryControlFormats.Quarantined)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.Quarantined other) {
        if (other == akka.remote.ArteryControlFormats.Quarantined.getDefaultInstance()) return this;
        if (other.hasFrom()) {
          mergeFrom(other.getFrom());
        }
        if (other.hasTo()) {
          mergeTo(other.getTo());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasFrom()) {
          return false;
        }
        if (!hasTo()) {
          return false;
        }
        if (!getFrom().isInitialized()) {
          return false;
        }
        if (!getTo().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.Quarantined parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.Quarantined) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.UniqueAddress from_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return Whether the from field is set.
       */
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return The from.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
        if (fromBuilder_ == null) {
          return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        } else {
          return fromBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          from_ = value;
          onChanged();
        } else {
          fromBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (fromBuilder_ == null) {
          from_ = builderForValue.build();
          onChanged();
        } else {
          fromBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              from_ != null &&
              from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            from_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
          } else {
            from_ = value;
          }
          onChanged();
        } else {
          fromBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder clearFrom() {
        if (fromBuilder_ == null) {
          from_ = null;
          onChanged();
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getFromFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
        if (fromBuilder_ != null) {
          return fromBuilder_.getMessageOrBuilder();
        } else {
          return from_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getFromFieldBuilder() {
        if (fromBuilder_ == null) {
          fromBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getFrom(),
                  getParentForChildren(),
                  isClean());
          from_ = null;
        }
        return fromBuilder_;
      }

      private akka.remote.ArteryControlFormats.UniqueAddress to_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> toBuilder_;
      /**
       * <code>required .UniqueAddress to = 2;</code>
       * @return Whether the to field is set.
       */
      public boolean hasTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       * @return The to.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getTo() {
        if (toBuilder_ == null) {
          return to_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : to_;
        } else {
          return toBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public Builder setTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (toBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          to_ = value;
          onChanged();
        } else {
          toBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public Builder setTo(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (toBuilder_ == null) {
          to_ = builderForValue.build();
          onChanged();
        } else {
          toBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public Builder mergeTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (toBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              to_ != null &&
              to_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            to_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(to_).mergeFrom(value).buildPartial();
          } else {
            to_ = value;
          }
          onChanged();
        } else {
          toBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public Builder clearTo() {
        if (toBuilder_ == null) {
          to_ = null;
          onChanged();
        } else {
          toBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getToBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getToFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getToOrBuilder() {
        if (toBuilder_ != null) {
          return toBuilder_.getMessageOrBuilder();
        } else {
          return to_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : to_;
        }
      }
      /**
       * <code>required .UniqueAddress to = 2;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getToFieldBuilder() {
        if (toBuilder_ == null) {
          toBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getTo(),
                  getParentForChildren(),
                  isClean());
          to_ = null;
        }
        return toBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Quarantined)
    }

    // @@protoc_insertion_point(class_scope:Quarantined)
    private static final akka.remote.ArteryControlFormats.Quarantined DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.Quarantined();
    }

    public static akka.remote.ArteryControlFormats.Quarantined getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Quarantined>
        PARSER = new akka.protobufv3.internal.AbstractParser<Quarantined>() {
      @java.lang.Override
      public Quarantined parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Quarantined(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Quarantined> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Quarantined> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.Quarantined getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MessageWithAddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:MessageWithAddress)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .UniqueAddress address = 1;</code>
     * @return Whether the address field is set.
     */
    boolean hasAddress();
    /**
     * <code>required .UniqueAddress address = 1;</code>
     * @return The address.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getAddress();
    /**
     * <code>required .UniqueAddress address = 1;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAddressOrBuilder();
  }
  /**
   * <pre>
   * Generic message declaration that is used for all types of message that (currently) have a single
   * address field. A message that needs to changed later can be cloned from this one and then adapted.
   * ActorSystemTerminating
   * ActorSystemTerminating.Ack
   * OutboundHandshake.HandshakeRsp
   * </pre>
   *
   * Protobuf type {@code MessageWithAddress}
   */
  public  static final class MessageWithAddress extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:MessageWithAddress)
      MessageWithAddressOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MessageWithAddress.newBuilder() to construct.
    private MessageWithAddress(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MessageWithAddress() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new MessageWithAddress();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MessageWithAddress(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = address_.toBuilder();
              }
              address_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(address_);
                address_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_MessageWithAddress_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_MessageWithAddress_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.MessageWithAddress.class, akka.remote.ArteryControlFormats.MessageWithAddress.Builder.class);
    }

    private int bitField0_;
    public static final int ADDRESS_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.UniqueAddress address_;
    /**
     * <code>required .UniqueAddress address = 1;</code>
     * @return Whether the address field is set.
     */
    public boolean hasAddress() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .UniqueAddress address = 1;</code>
     * @return The address.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getAddress() {
      return address_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : address_;
    }
    /**
     * <code>required .UniqueAddress address = 1;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAddressOrBuilder() {
      return address_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : address_;
    }

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

      if (!hasAddress()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getAddress().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getAddress());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getAddress());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.MessageWithAddress)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.MessageWithAddress other = (akka.remote.ArteryControlFormats.MessageWithAddress) obj;

      if (hasAddress() != other.hasAddress()) return false;
      if (hasAddress()) {
        if (!getAddress()
            .equals(other.getAddress())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

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

    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.MessageWithAddress parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.MessageWithAddress prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Generic message declaration that is used for all types of message that (currently) have a single
     * address field. A message that needs to changed later can be cloned from this one and then adapted.
     * ActorSystemTerminating
     * ActorSystemTerminating.Ack
     * OutboundHandshake.HandshakeRsp
     * </pre>
     *
     * Protobuf type {@code MessageWithAddress}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:MessageWithAddress)
        akka.remote.ArteryControlFormats.MessageWithAddressOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_MessageWithAddress_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_MessageWithAddress_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.MessageWithAddress.class, akka.remote.ArteryControlFormats.MessageWithAddress.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.MessageWithAddress.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAddressFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (addressBuilder_ == null) {
          address_ = null;
        } else {
          addressBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_MessageWithAddress_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.MessageWithAddress getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.MessageWithAddress.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.MessageWithAddress build() {
        akka.remote.ArteryControlFormats.MessageWithAddress result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.MessageWithAddress buildPartial() {
        akka.remote.ArteryControlFormats.MessageWithAddress result = new akka.remote.ArteryControlFormats.MessageWithAddress(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (addressBuilder_ == null) {
            result.address_ = address_;
          } else {
            result.address_ = addressBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.MessageWithAddress) {
          return mergeFrom((akka.remote.ArteryControlFormats.MessageWithAddress)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.MessageWithAddress other) {
        if (other == akka.remote.ArteryControlFormats.MessageWithAddress.getDefaultInstance()) return this;
        if (other.hasAddress()) {
          mergeAddress(other.getAddress());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasAddress()) {
          return false;
        }
        if (!getAddress().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.MessageWithAddress parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.MessageWithAddress) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.UniqueAddress address_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> addressBuilder_;
      /**
       * <code>required .UniqueAddress address = 1;</code>
       * @return Whether the address field is set.
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       * @return The address.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getAddress() {
        if (addressBuilder_ == null) {
          return address_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : address_;
        } else {
          return addressBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public Builder setAddress(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (addressBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          address_ = value;
          onChanged();
        } else {
          addressBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public Builder setAddress(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (addressBuilder_ == null) {
          address_ = builderForValue.build();
          onChanged();
        } else {
          addressBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public Builder mergeAddress(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (addressBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              address_ != null &&
              address_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            address_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(address_).mergeFrom(value).buildPartial();
          } else {
            address_ = value;
          }
          onChanged();
        } else {
          addressBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public Builder clearAddress() {
        if (addressBuilder_ == null) {
          address_ = null;
          onChanged();
        } else {
          addressBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getAddressBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getAddressFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAddressOrBuilder() {
        if (addressBuilder_ != null) {
          return addressBuilder_.getMessageOrBuilder();
        } else {
          return address_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : address_;
        }
      }
      /**
       * <code>required .UniqueAddress address = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getAddressFieldBuilder() {
        if (addressBuilder_ == null) {
          addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getAddress(),
                  getParentForChildren(),
                  isClean());
          address_ = null;
        }
        return addressBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:MessageWithAddress)
    }

    // @@protoc_insertion_point(class_scope:MessageWithAddress)
    private static final akka.remote.ArteryControlFormats.MessageWithAddress DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.MessageWithAddress();
    }

    public static akka.remote.ArteryControlFormats.MessageWithAddress getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<MessageWithAddress>
        PARSER = new akka.protobufv3.internal.AbstractParser<MessageWithAddress>() {
      @java.lang.Override
      public MessageWithAddress parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new MessageWithAddress(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<MessageWithAddress> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<MessageWithAddress> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.MessageWithAddress getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface HandshakeReqOrBuilder extends
      // @@protoc_insertion_point(interface_extends:HandshakeReq)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    boolean hasFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();

    /**
     * <code>required .Address to = 2;</code>
     * @return Whether the to field is set.
     */
    boolean hasTo();
    /**
     * <code>required .Address to = 2;</code>
     * @return The to.
     */
    akka.remote.ArteryControlFormats.Address getTo();
    /**
     * <code>required .Address to = 2;</code>
     */
    akka.remote.ArteryControlFormats.AddressOrBuilder getToOrBuilder();
  }
  /**
   * Protobuf type {@code HandshakeReq}
   */
  public  static final class HandshakeReq extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:HandshakeReq)
      HandshakeReqOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use HandshakeReq.newBuilder() to construct.
    private HandshakeReq(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private HandshakeReq() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new HandshakeReq();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private HandshakeReq(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = from_.toBuilder();
              }
              from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(from_);
                from_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              akka.remote.ArteryControlFormats.Address.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = to_.toBuilder();
              }
              to_ = input.readMessage(akka.remote.ArteryControlFormats.Address.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(to_);
                to_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_HandshakeReq_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_HandshakeReq_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.HandshakeReq.class, akka.remote.ArteryControlFormats.HandshakeReq.Builder.class);
    }

    private int bitField0_;
    public static final int FROM_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.UniqueAddress from_;
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    public boolean hasFrom() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }

    public static final int TO_FIELD_NUMBER = 2;
    private akka.remote.ArteryControlFormats.Address to_;
    /**
     * <code>required .Address to = 2;</code>
     * @return Whether the to field is set.
     */
    public boolean hasTo() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .Address to = 2;</code>
     * @return The to.
     */
    public akka.remote.ArteryControlFormats.Address getTo() {
      return to_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : to_;
    }
    /**
     * <code>required .Address to = 2;</code>
     */
    public akka.remote.ArteryControlFormats.AddressOrBuilder getToOrBuilder() {
      return to_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : to_;
    }

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

      if (!hasFrom()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getFrom().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTo().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getTo());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getTo());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.HandshakeReq)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.HandshakeReq other = (akka.remote.ArteryControlFormats.HandshakeReq) obj;

      if (hasFrom() != other.hasFrom()) return false;
      if (hasFrom()) {
        if (!getFrom()
            .equals(other.getFrom())) return false;
      }
      if (hasTo() != other.hasTo()) return false;
      if (hasTo()) {
        if (!getTo()
            .equals(other.getTo())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasFrom()) {
        hash = (37 * hash) + FROM_FIELD_NUMBER;
        hash = (53 * hash) + getFrom().hashCode();
      }
      if (hasTo()) {
        hash = (37 * hash) + TO_FIELD_NUMBER;
        hash = (53 * hash) + getTo().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.HandshakeReq parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.HandshakeReq prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code HandshakeReq}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:HandshakeReq)
        akka.remote.ArteryControlFormats.HandshakeReqOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_HandshakeReq_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_HandshakeReq_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.HandshakeReq.class, akka.remote.ArteryControlFormats.HandshakeReq.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.HandshakeReq.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFromFieldBuilder();
          getToFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (fromBuilder_ == null) {
          from_ = null;
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (toBuilder_ == null) {
          to_ = null;
        } else {
          toBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_HandshakeReq_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.HandshakeReq getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.HandshakeReq.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.HandshakeReq build() {
        akka.remote.ArteryControlFormats.HandshakeReq result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.HandshakeReq buildPartial() {
        akka.remote.ArteryControlFormats.HandshakeReq result = new akka.remote.ArteryControlFormats.HandshakeReq(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (fromBuilder_ == null) {
            result.from_ = from_;
          } else {
            result.from_ = fromBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (toBuilder_ == null) {
            result.to_ = to_;
          } else {
            result.to_ = toBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.HandshakeReq) {
          return mergeFrom((akka.remote.ArteryControlFormats.HandshakeReq)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.HandshakeReq other) {
        if (other == akka.remote.ArteryControlFormats.HandshakeReq.getDefaultInstance()) return this;
        if (other.hasFrom()) {
          mergeFrom(other.getFrom());
        }
        if (other.hasTo()) {
          mergeTo(other.getTo());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasFrom()) {
          return false;
        }
        if (!hasTo()) {
          return false;
        }
        if (!getFrom().isInitialized()) {
          return false;
        }
        if (!getTo().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.HandshakeReq parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.HandshakeReq) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.UniqueAddress from_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return Whether the from field is set.
       */
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return The from.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
        if (fromBuilder_ == null) {
          return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        } else {
          return fromBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          from_ = value;
          onChanged();
        } else {
          fromBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (fromBuilder_ == null) {
          from_ = builderForValue.build();
          onChanged();
        } else {
          fromBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              from_ != null &&
              from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            from_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
          } else {
            from_ = value;
          }
          onChanged();
        } else {
          fromBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder clearFrom() {
        if (fromBuilder_ == null) {
          from_ = null;
          onChanged();
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getFromFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
        if (fromBuilder_ != null) {
          return fromBuilder_.getMessageOrBuilder();
        } else {
          return from_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getFromFieldBuilder() {
        if (fromBuilder_ == null) {
          fromBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getFrom(),
                  getParentForChildren(),
                  isClean());
          from_ = null;
        }
        return fromBuilder_;
      }

      private akka.remote.ArteryControlFormats.Address to_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder> toBuilder_;
      /**
       * <code>required .Address to = 2;</code>
       * @return Whether the to field is set.
       */
      public boolean hasTo() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .Address to = 2;</code>
       * @return The to.
       */
      public akka.remote.ArteryControlFormats.Address getTo() {
        if (toBuilder_ == null) {
          return to_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : to_;
        } else {
          return toBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public Builder setTo(akka.remote.ArteryControlFormats.Address value) {
        if (toBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          to_ = value;
          onChanged();
        } else {
          toBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public Builder setTo(
          akka.remote.ArteryControlFormats.Address.Builder builderForValue) {
        if (toBuilder_ == null) {
          to_ = builderForValue.build();
          onChanged();
        } else {
          toBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public Builder mergeTo(akka.remote.ArteryControlFormats.Address value) {
        if (toBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              to_ != null &&
              to_ != akka.remote.ArteryControlFormats.Address.getDefaultInstance()) {
            to_ =
              akka.remote.ArteryControlFormats.Address.newBuilder(to_).mergeFrom(value).buildPartial();
          } else {
            to_ = value;
          }
          onChanged();
        } else {
          toBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public Builder clearTo() {
        if (toBuilder_ == null) {
          to_ = null;
          onChanged();
        } else {
          toBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public akka.remote.ArteryControlFormats.Address.Builder getToBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getToFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      public akka.remote.ArteryControlFormats.AddressOrBuilder getToOrBuilder() {
        if (toBuilder_ != null) {
          return toBuilder_.getMessageOrBuilder();
        } else {
          return to_ == null ?
              akka.remote.ArteryControlFormats.Address.getDefaultInstance() : to_;
        }
      }
      /**
       * <code>required .Address to = 2;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder> 
          getToFieldBuilder() {
        if (toBuilder_ == null) {
          toBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder>(
                  getTo(),
                  getParentForChildren(),
                  isClean());
          to_ = null;
        }
        return toBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:HandshakeReq)
    }

    // @@protoc_insertion_point(class_scope:HandshakeReq)
    private static final akka.remote.ArteryControlFormats.HandshakeReq DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.HandshakeReq();
    }

    public static akka.remote.ArteryControlFormats.HandshakeReq getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<HandshakeReq>
        PARSER = new akka.protobufv3.internal.AbstractParser<HandshakeReq>() {
      @java.lang.Override
      public HandshakeReq parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new HandshakeReq(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<HandshakeReq> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<HandshakeReq> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.HandshakeReq getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CompressionTableAdvertisementOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CompressionTableAdvertisement)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    boolean hasFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();

    /**
     * <code>required uint64 originUid = 2;</code>
     * @return Whether the originUid field is set.
     */
    boolean hasOriginUid();
    /**
     * <code>required uint64 originUid = 2;</code>
     * @return The originUid.
     */
    long getOriginUid();

    /**
     * <code>required uint32 tableVersion = 3;</code>
     * @return Whether the tableVersion field is set.
     */
    boolean hasTableVersion();
    /**
     * <code>required uint32 tableVersion = 3;</code>
     * @return The tableVersion.
     */
    int getTableVersion();

    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @return A list containing the keys.
     */
    java.util.List<java.lang.String>
        getKeysList();
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @return The count of keys.
     */
    int getKeysCount();
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @param index The index of the element to return.
     * @return The keys at the given index.
     */
    java.lang.String getKeys(int index);
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the keys at the given index.
     */
    akka.protobufv3.internal.ByteString
        getKeysBytes(int index);

    /**
     * <code>repeated uint32 values = 5;</code>
     * @return A list containing the values.
     */
    java.util.List<java.lang.Integer> getValuesList();
    /**
     * <code>repeated uint32 values = 5;</code>
     * @return The count of values.
     */
    int getValuesCount();
    /**
     * <code>repeated uint32 values = 5;</code>
     * @param index The index of the element to return.
     * @return The values at the given index.
     */
    int getValues(int index);
  }
  /**
   * <pre>
   * CompressionProtocol.ActorRefCompressionAdvertisement
   * CompressionProtocol.ClassManifestCompressionAdvertisement
   * </pre>
   *
   * Protobuf type {@code CompressionTableAdvertisement}
   */
  public  static final class CompressionTableAdvertisement extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CompressionTableAdvertisement)
      CompressionTableAdvertisementOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CompressionTableAdvertisement.newBuilder() to construct.
    private CompressionTableAdvertisement(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CompressionTableAdvertisement() {
      keys_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      values_ = emptyIntList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new CompressionTableAdvertisement();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CompressionTableAdvertisement(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = from_.toBuilder();
              }
              from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(from_);
                from_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              originUid_ = input.readUInt64();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              tableVersion_ = input.readUInt32();
              break;
            }
            case 34: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                keys_ = new akka.protobufv3.internal.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              keys_.add(bs);
              break;
            }
            case 40: {
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                values_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              values_.addInt(input.readUInt32());
              break;
            }
            case 42: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                values_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                values_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          keys_ = keys_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          values_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisement_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisement_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.CompressionTableAdvertisement.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisement.Builder.class);
    }

    private int bitField0_;
    public static final int FROM_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.UniqueAddress from_;
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    public boolean hasFrom() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }

    public static final int ORIGINUID_FIELD_NUMBER = 2;
    private long originUid_;
    /**
     * <code>required uint64 originUid = 2;</code>
     * @return Whether the originUid field is set.
     */
    public boolean hasOriginUid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required uint64 originUid = 2;</code>
     * @return The originUid.
     */
    public long getOriginUid() {
      return originUid_;
    }

    public static final int TABLEVERSION_FIELD_NUMBER = 3;
    private int tableVersion_;
    /**
     * <code>required uint32 tableVersion = 3;</code>
     * @return Whether the tableVersion field is set.
     */
    public boolean hasTableVersion() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required uint32 tableVersion = 3;</code>
     * @return The tableVersion.
     */
    public int getTableVersion() {
      return tableVersion_;
    }

    public static final int KEYS_FIELD_NUMBER = 4;
    private akka.protobufv3.internal.LazyStringList keys_;
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @return A list containing the keys.
     */
    public akka.protobufv3.internal.ProtocolStringList
        getKeysList() {
      return keys_;
    }
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @return The count of keys.
     */
    public int getKeysCount() {
      return keys_.size();
    }
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @param index The index of the element to return.
     * @return The keys at the given index.
     */
    public java.lang.String getKeys(int index) {
      return keys_.get(index);
    }
    /**
     * <pre>
     * actual Map is represented by separate sequences of keys and values,
     * relies on both sequences using the same order so that corresponding entries can be
     * associated again when deserializing
     * </pre>
     *
     * <code>repeated string keys = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the keys at the given index.
     */
    public akka.protobufv3.internal.ByteString
        getKeysBytes(int index) {
      return keys_.getByteString(index);
    }

    public static final int VALUES_FIELD_NUMBER = 5;
    private akka.protobufv3.internal.Internal.IntList values_;
    /**
     * <code>repeated uint32 values = 5;</code>
     * @return A list containing the values.
     */
    public java.util.List<java.lang.Integer>
        getValuesList() {
      return values_;
    }
    /**
     * <code>repeated uint32 values = 5;</code>
     * @return The count of values.
     */
    public int getValuesCount() {
      return values_.size();
    }
    /**
     * <code>repeated uint32 values = 5;</code>
     * @param index The index of the element to return.
     * @return The values at the given index.
     */
    public int getValues(int index) {
      return values_.getInt(index);
    }

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

      if (!hasFrom()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOriginUid()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTableVersion()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getFrom().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, originUid_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, tableVersion_);
      }
      for (int i = 0; i < keys_.size(); i++) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 4, keys_.getRaw(i));
      }
      for (int i = 0; i < values_.size(); i++) {
        output.writeUInt32(5, values_.getInt(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(2, originUid_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt32Size(3, tableVersion_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < keys_.size(); i++) {
          dataSize += computeStringSizeNoTag(keys_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getKeysList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < values_.size(); i++) {
          dataSize += akka.protobufv3.internal.CodedOutputStream
            .computeUInt32SizeNoTag(values_.getInt(i));
        }
        size += dataSize;
        size += 1 * getValuesList().size();
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.CompressionTableAdvertisement)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.CompressionTableAdvertisement other = (akka.remote.ArteryControlFormats.CompressionTableAdvertisement) obj;

      if (hasFrom() != other.hasFrom()) return false;
      if (hasFrom()) {
        if (!getFrom()
            .equals(other.getFrom())) return false;
      }
      if (hasOriginUid() != other.hasOriginUid()) return false;
      if (hasOriginUid()) {
        if (getOriginUid()
            != other.getOriginUid()) return false;
      }
      if (hasTableVersion() != other.hasTableVersion()) return false;
      if (hasTableVersion()) {
        if (getTableVersion()
            != other.getTableVersion()) return false;
      }
      if (!getKeysList()
          .equals(other.getKeysList())) return false;
      if (!getValuesList()
          .equals(other.getValuesList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasFrom()) {
        hash = (37 * hash) + FROM_FIELD_NUMBER;
        hash = (53 * hash) + getFrom().hashCode();
      }
      if (hasOriginUid()) {
        hash = (37 * hash) + ORIGINUID_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getOriginUid());
      }
      if (hasTableVersion()) {
        hash = (37 * hash) + TABLEVERSION_FIELD_NUMBER;
        hash = (53 * hash) + getTableVersion();
      }
      if (getKeysCount() > 0) {
        hash = (37 * hash) + KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getKeysList().hashCode();
      }
      if (getValuesCount() > 0) {
        hash = (37 * hash) + VALUES_FIELD_NUMBER;
        hash = (53 * hash) + getValuesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.CompressionTableAdvertisement prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CompressionProtocol.ActorRefCompressionAdvertisement
     * CompressionProtocol.ClassManifestCompressionAdvertisement
     * </pre>
     *
     * Protobuf type {@code CompressionTableAdvertisement}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CompressionTableAdvertisement)
        akka.remote.ArteryControlFormats.CompressionTableAdvertisementOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisement_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisement_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.CompressionTableAdvertisement.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisement.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.CompressionTableAdvertisement.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFromFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (fromBuilder_ == null) {
          from_ = null;
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        originUid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        tableVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        keys_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        values_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisement_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisement getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.CompressionTableAdvertisement.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisement build() {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisement result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisement buildPartial() {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisement result = new akka.remote.ArteryControlFormats.CompressionTableAdvertisement(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (fromBuilder_ == null) {
            result.from_ = from_;
          } else {
            result.from_ = fromBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.originUid_ = originUid_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.tableVersion_ = tableVersion_;
          to_bitField0_ |= 0x00000004;
        }
        if (((bitField0_ & 0x00000008) != 0)) {
          keys_ = keys_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.keys_ = keys_;
        if (((bitField0_ & 0x00000010) != 0)) {
          values_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.values_ = values_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.CompressionTableAdvertisement) {
          return mergeFrom((akka.remote.ArteryControlFormats.CompressionTableAdvertisement)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.CompressionTableAdvertisement other) {
        if (other == akka.remote.ArteryControlFormats.CompressionTableAdvertisement.getDefaultInstance()) return this;
        if (other.hasFrom()) {
          mergeFrom(other.getFrom());
        }
        if (other.hasOriginUid()) {
          setOriginUid(other.getOriginUid());
        }
        if (other.hasTableVersion()) {
          setTableVersion(other.getTableVersion());
        }
        if (!other.keys_.isEmpty()) {
          if (keys_.isEmpty()) {
            keys_ = other.keys_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureKeysIsMutable();
            keys_.addAll(other.keys_);
          }
          onChanged();
        }
        if (!other.values_.isEmpty()) {
          if (values_.isEmpty()) {
            values_ = other.values_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureValuesIsMutable();
            values_.addAll(other.values_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasFrom()) {
          return false;
        }
        if (!hasOriginUid()) {
          return false;
        }
        if (!hasTableVersion()) {
          return false;
        }
        if (!getFrom().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisement parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.CompressionTableAdvertisement) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.UniqueAddress from_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return Whether the from field is set.
       */
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return The from.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
        if (fromBuilder_ == null) {
          return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        } else {
          return fromBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          from_ = value;
          onChanged();
        } else {
          fromBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (fromBuilder_ == null) {
          from_ = builderForValue.build();
          onChanged();
        } else {
          fromBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              from_ != null &&
              from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            from_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
          } else {
            from_ = value;
          }
          onChanged();
        } else {
          fromBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder clearFrom() {
        if (fromBuilder_ == null) {
          from_ = null;
          onChanged();
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getFromFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
        if (fromBuilder_ != null) {
          return fromBuilder_.getMessageOrBuilder();
        } else {
          return from_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getFromFieldBuilder() {
        if (fromBuilder_ == null) {
          fromBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getFrom(),
                  getParentForChildren(),
                  isClean());
          from_ = null;
        }
        return fromBuilder_;
      }

      private long originUid_ ;
      /**
       * <code>required uint64 originUid = 2;</code>
       * @return Whether the originUid field is set.
       */
      public boolean hasOriginUid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required uint64 originUid = 2;</code>
       * @return The originUid.
       */
      public long getOriginUid() {
        return originUid_;
      }
      /**
       * <code>required uint64 originUid = 2;</code>
       * @param value The originUid to set.
       * @return This builder for chaining.
       */
      public Builder setOriginUid(long value) {
        bitField0_ |= 0x00000002;
        originUid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 originUid = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearOriginUid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        originUid_ = 0L;
        onChanged();
        return this;
      }

      private int tableVersion_ ;
      /**
       * <code>required uint32 tableVersion = 3;</code>
       * @return Whether the tableVersion field is set.
       */
      public boolean hasTableVersion() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required uint32 tableVersion = 3;</code>
       * @return The tableVersion.
       */
      public int getTableVersion() {
        return tableVersion_;
      }
      /**
       * <code>required uint32 tableVersion = 3;</code>
       * @param value The tableVersion to set.
       * @return This builder for chaining.
       */
      public Builder setTableVersion(int value) {
        bitField0_ |= 0x00000004;
        tableVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 tableVersion = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTableVersion() {
        bitField0_ = (bitField0_ & ~0x00000004);
        tableVersion_ = 0;
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.LazyStringList keys_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
      private void ensureKeysIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          keys_ = new akka.protobufv3.internal.LazyStringArrayList(keys_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @return A list containing the keys.
       */
      public akka.protobufv3.internal.ProtocolStringList
          getKeysList() {
        return keys_.getUnmodifiableView();
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @return The count of keys.
       */
      public int getKeysCount() {
        return keys_.size();
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param index The index of the element to return.
       * @return The keys at the given index.
       */
      public java.lang.String getKeys(int index) {
        return keys_.get(index);
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param index The index of the value to return.
       * @return The bytes of the keys at the given index.
       */
      public akka.protobufv3.internal.ByteString
          getKeysBytes(int index) {
        return keys_.getByteString(index);
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param index The index to set the value at.
       * @param value The keys to set.
       * @return This builder for chaining.
       */
      public Builder setKeys(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureKeysIsMutable();
        keys_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param value The keys to add.
       * @return This builder for chaining.
       */
      public Builder addKeys(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureKeysIsMutable();
        keys_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param values The keys to add.
       * @return This builder for chaining.
       */
      public Builder addAllKeys(
          java.lang.Iterable<java.lang.String> values) {
        ensureKeysIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, keys_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearKeys() {
        keys_ = akka.protobufv3.internal.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * actual Map is represented by separate sequences of keys and values,
       * relies on both sequences using the same order so that corresponding entries can be
       * associated again when deserializing
       * </pre>
       *
       * <code>repeated string keys = 4;</code>
       * @param value The bytes of the keys to add.
       * @return This builder for chaining.
       */
      public Builder addKeysBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureKeysIsMutable();
        keys_.add(value);
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.Internal.IntList values_ = emptyIntList();
      private void ensureValuesIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          values_ = mutableCopy(values_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @return A list containing the values.
       */
      public java.util.List<java.lang.Integer>
          getValuesList() {
        return ((bitField0_ & 0x00000010) != 0) ?
                 java.util.Collections.unmodifiableList(values_) : values_;
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @return The count of values.
       */
      public int getValuesCount() {
        return values_.size();
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @param index The index of the element to return.
       * @return The values at the given index.
       */
      public int getValues(int index) {
        return values_.getInt(index);
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @param index The index to set the value at.
       * @param value The values to set.
       * @return This builder for chaining.
       */
      public Builder setValues(
          int index, int value) {
        ensureValuesIsMutable();
        values_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @param value The values to add.
       * @return This builder for chaining.
       */
      public Builder addValues(int value) {
        ensureValuesIsMutable();
        values_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @param values The values to add.
       * @return This builder for chaining.
       */
      public Builder addAllValues(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureValuesIsMutable();
        akka.protobufv3.internal.AbstractMessageLite.Builder.addAll(
            values, values_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 values = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearValues() {
        values_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CompressionTableAdvertisement)
    }

    // @@protoc_insertion_point(class_scope:CompressionTableAdvertisement)
    private static final akka.remote.ArteryControlFormats.CompressionTableAdvertisement DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.CompressionTableAdvertisement();
    }

    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisement getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<CompressionTableAdvertisement>
        PARSER = new akka.protobufv3.internal.AbstractParser<CompressionTableAdvertisement>() {
      @java.lang.Override
      public CompressionTableAdvertisement parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new CompressionTableAdvertisement(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<CompressionTableAdvertisement> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<CompressionTableAdvertisement> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.CompressionTableAdvertisement getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CompressionTableAdvertisementAckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CompressionTableAdvertisementAck)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    boolean hasFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getFrom();
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();

    /**
     * <code>required uint32 version = 2;</code>
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * <code>required uint32 version = 2;</code>
     * @return The version.
     */
    int getVersion();
  }
  /**
   * <pre>
   * CompressionProtocol.ActorRefCompressionAdvertisementAck
   * CompressionProtocol.ClassManifestCompressionAdvertisementAck
   * </pre>
   *
   * Protobuf type {@code CompressionTableAdvertisementAck}
   */
  public  static final class CompressionTableAdvertisementAck extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CompressionTableAdvertisementAck)
      CompressionTableAdvertisementAckOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CompressionTableAdvertisementAck.newBuilder() to construct.
    private CompressionTableAdvertisementAck(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CompressionTableAdvertisementAck() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new CompressionTableAdvertisementAck();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CompressionTableAdvertisementAck(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = from_.toBuilder();
              }
              from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(from_);
                from_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              version_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.Builder.class);
    }

    private int bitField0_;
    public static final int FROM_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.UniqueAddress from_;
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return Whether the from field is set.
     */
    public boolean hasFrom() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     * @return The from.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }
    /**
     * <code>required .UniqueAddress from = 1;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }

    public static final int VERSION_FIELD_NUMBER = 2;
    private int version_;
    /**
     * <code>required uint32 version = 2;</code>
     * @return Whether the version field is set.
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required uint32 version = 2;</code>
     * @return The version.
     */
    public int getVersion() {
      return version_;
    }

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

      if (!hasFrom()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasVersion()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getFrom().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, version_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getFrom());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt32Size(2, version_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck other = (akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck) obj;

      if (hasFrom() != other.hasFrom()) return false;
      if (hasFrom()) {
        if (!getFrom()
            .equals(other.getFrom())) return false;
      }
      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (getVersion()
            != other.getVersion()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasFrom()) {
        hash = (37 * hash) + FROM_FIELD_NUMBER;
        hash = (53 * hash) + getFrom().hashCode();
      }
      if (hasVersion()) {
        hash = (37 * hash) + VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getVersion();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CompressionProtocol.ActorRefCompressionAdvertisementAck
     * CompressionProtocol.ClassManifestCompressionAdvertisementAck
     * </pre>
     *
     * Protobuf type {@code CompressionTableAdvertisementAck}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CompressionTableAdvertisementAck)
        akka.remote.ArteryControlFormats.CompressionTableAdvertisementAckOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.class, akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFromFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (fromBuilder_ == null) {
          from_ = null;
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        version_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_CompressionTableAdvertisementAck_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck build() {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck buildPartial() {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck result = new akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (fromBuilder_ == null) {
            result.from_ = from_;
          } else {
            result.from_ = fromBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.version_ = version_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck) {
          return mergeFrom((akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck other) {
        if (other == akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck.getDefaultInstance()) return this;
        if (other.hasFrom()) {
          mergeFrom(other.getFrom());
        }
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasFrom()) {
          return false;
        }
        if (!hasVersion()) {
          return false;
        }
        if (!getFrom().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.UniqueAddress from_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return Whether the from field is set.
       */
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       * @return The from.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
        if (fromBuilder_ == null) {
          return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        } else {
          return fromBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          from_ = value;
          onChanged();
        } else {
          fromBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder setFrom(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (fromBuilder_ == null) {
          from_ = builderForValue.build();
          onChanged();
        } else {
          fromBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              from_ != null &&
              from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            from_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
          } else {
            from_ = value;
          }
          onChanged();
        } else {
          fromBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public Builder clearFrom() {
        if (fromBuilder_ == null) {
          from_ = null;
          onChanged();
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getFromFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
        if (fromBuilder_ != null) {
          return fromBuilder_.getMessageOrBuilder();
        } else {
          return from_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        }
      }
      /**
       * <code>required .UniqueAddress from = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getFromFieldBuilder() {
        if (fromBuilder_ == null) {
          fromBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getFrom(),
                  getParentForChildren(),
                  isClean());
          from_ = null;
        }
        return fromBuilder_;
      }

      private int version_ ;
      /**
       * <code>required uint32 version = 2;</code>
       * @return Whether the version field is set.
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required uint32 version = 2;</code>
       * @return The version.
       */
      public int getVersion() {
        return version_;
      }
      /**
       * <code>required uint32 version = 2;</code>
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {
        bitField0_ |= 0x00000002;
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 version = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000002);
        version_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CompressionTableAdvertisementAck)
    }

    // @@protoc_insertion_point(class_scope:CompressionTableAdvertisementAck)
    private static final akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck();
    }

    public static akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<CompressionTableAdvertisementAck>
        PARSER = new akka.protobufv3.internal.AbstractParser<CompressionTableAdvertisementAck>() {
      @java.lang.Override
      public CompressionTableAdvertisementAck parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new CompressionTableAdvertisementAck(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<CompressionTableAdvertisementAck> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<CompressionTableAdvertisementAck> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.CompressionTableAdvertisementAck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SystemMessageEnvelopeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SystemMessageEnvelope)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required bytes message = 1;</code>
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * <code>required bytes message = 1;</code>
     * @return The message.
     */
    akka.protobufv3.internal.ByteString getMessage();

    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    boolean hasSerializerId();
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    int getSerializerId();

    /**
     * <code>optional bytes messageManifest = 3;</code>
     * @return Whether the messageManifest field is set.
     */
    boolean hasMessageManifest();
    /**
     * <code>optional bytes messageManifest = 3;</code>
     * @return The messageManifest.
     */
    akka.protobufv3.internal.ByteString getMessageManifest();

    /**
     * <code>required uint64 seqNo = 4;</code>
     * @return Whether the seqNo field is set.
     */
    boolean hasSeqNo();
    /**
     * <code>required uint64 seqNo = 4;</code>
     * @return The seqNo.
     */
    long getSeqNo();

    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     * @return Whether the ackReplyTo field is set.
     */
    boolean hasAckReplyTo();
    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     * @return The ackReplyTo.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo();
    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder();
  }
  /**
   * <pre>
   * SystemMessageDelivery.SystemMessageEnvelope
   * </pre>
   *
   * Protobuf type {@code SystemMessageEnvelope}
   */
  public  static final class SystemMessageEnvelope extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SystemMessageEnvelope)
      SystemMessageEnvelopeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SystemMessageEnvelope.newBuilder() to construct.
    private SystemMessageEnvelope(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SystemMessageEnvelope() {
      message_ = akka.protobufv3.internal.ByteString.EMPTY;
      messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new SystemMessageEnvelope();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SystemMessageEnvelope(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              bitField0_ |= 0x00000001;
              message_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serializerId_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              messageManifest_ = input.readBytes();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              seqNo_ = input.readUInt64();
              break;
            }
            case 42: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) != 0)) {
                subBuilder = ackReplyTo_.toBuilder();
              }
              ackReplyTo_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(ackReplyTo_);
                ackReplyTo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.SystemMessageEnvelope.class, akka.remote.ArteryControlFormats.SystemMessageEnvelope.Builder.class);
    }

    private int bitField0_;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private akka.protobufv3.internal.ByteString message_;
    /**
     * <code>required bytes message = 1;</code>
     * @return Whether the message field is set.
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required bytes message = 1;</code>
     * @return The message.
     */
    public akka.protobufv3.internal.ByteString getMessage() {
      return message_;
    }

    public static final int SERIALIZERID_FIELD_NUMBER = 2;
    private int serializerId_;
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return Whether the serializerId field is set.
     */
    public boolean hasSerializerId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 serializerId = 2;</code>
     * @return The serializerId.
     */
    public int getSerializerId() {
      return serializerId_;
    }

    public static final int MESSAGEMANIFEST_FIELD_NUMBER = 3;
    private akka.protobufv3.internal.ByteString messageManifest_;
    /**
     * <code>optional bytes messageManifest = 3;</code>
     * @return Whether the messageManifest field is set.
     */
    public boolean hasMessageManifest() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional bytes messageManifest = 3;</code>
     * @return The messageManifest.
     */
    public akka.protobufv3.internal.ByteString getMessageManifest() {
      return messageManifest_;
    }

    public static final int SEQNO_FIELD_NUMBER = 4;
    private long seqNo_;
    /**
     * <code>required uint64 seqNo = 4;</code>
     * @return Whether the seqNo field is set.
     */
    public boolean hasSeqNo() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required uint64 seqNo = 4;</code>
     * @return The seqNo.
     */
    public long getSeqNo() {
      return seqNo_;
    }

    public static final int ACKREPLYTO_FIELD_NUMBER = 5;
    private akka.remote.ArteryControlFormats.UniqueAddress ackReplyTo_;
    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     * @return Whether the ackReplyTo field is set.
     */
    public boolean hasAckReplyTo() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     * @return The ackReplyTo.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo() {
      return ackReplyTo_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : ackReplyTo_;
    }
    /**
     * <code>required .UniqueAddress ackReplyTo = 5;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder() {
      return ackReplyTo_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : ackReplyTo_;
    }

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

      if (!hasMessage()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSerializerId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSeqNo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAckReplyTo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getAckReplyTo().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBytes(1, message_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(3, messageManifest_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt64(4, seqNo_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getAckReplyTo());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(1, message_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeInt32Size(2, serializerId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeBytesSize(3, messageManifest_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(4, seqNo_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(5, getAckReplyTo());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.SystemMessageEnvelope)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.SystemMessageEnvelope other = (akka.remote.ArteryControlFormats.SystemMessageEnvelope) obj;

      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (hasSerializerId() != other.hasSerializerId()) return false;
      if (hasSerializerId()) {
        if (getSerializerId()
            != other.getSerializerId()) return false;
      }
      if (hasMessageManifest() != other.hasMessageManifest()) return false;
      if (hasMessageManifest()) {
        if (!getMessageManifest()
            .equals(other.getMessageManifest())) return false;
      }
      if (hasSeqNo() != other.hasSeqNo()) return false;
      if (hasSeqNo()) {
        if (getSeqNo()
            != other.getSeqNo()) return false;
      }
      if (hasAckReplyTo() != other.hasAckReplyTo()) return false;
      if (hasAckReplyTo()) {
        if (!getAckReplyTo()
            .equals(other.getAckReplyTo())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      if (hasSerializerId()) {
        hash = (37 * hash) + SERIALIZERID_FIELD_NUMBER;
        hash = (53 * hash) + getSerializerId();
      }
      if (hasMessageManifest()) {
        hash = (37 * hash) + MESSAGEMANIFEST_FIELD_NUMBER;
        hash = (53 * hash) + getMessageManifest().hashCode();
      }
      if (hasSeqNo()) {
        hash = (37 * hash) + SEQNO_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getSeqNo());
      }
      if (hasAckReplyTo()) {
        hash = (37 * hash) + ACKREPLYTO_FIELD_NUMBER;
        hash = (53 * hash) + getAckReplyTo().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.SystemMessageEnvelope prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * SystemMessageDelivery.SystemMessageEnvelope
     * </pre>
     *
     * Protobuf type {@code SystemMessageEnvelope}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SystemMessageEnvelope)
        akka.remote.ArteryControlFormats.SystemMessageEnvelopeOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.SystemMessageEnvelope.class, akka.remote.ArteryControlFormats.SystemMessageEnvelope.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.SystemMessageEnvelope.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAckReplyToFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        message_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        serializerId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        seqNo_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        if (ackReplyToBuilder_ == null) {
          ackReplyTo_ = null;
        } else {
          ackReplyToBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageEnvelope_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageEnvelope getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.SystemMessageEnvelope.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageEnvelope build() {
        akka.remote.ArteryControlFormats.SystemMessageEnvelope result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageEnvelope buildPartial() {
        akka.remote.ArteryControlFormats.SystemMessageEnvelope result = new akka.remote.ArteryControlFormats.SystemMessageEnvelope(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.serializerId_ = serializerId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messageManifest_ = messageManifest_;
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.seqNo_ = seqNo_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          if (ackReplyToBuilder_ == null) {
            result.ackReplyTo_ = ackReplyTo_;
          } else {
            result.ackReplyTo_ = ackReplyToBuilder_.build();
          }
          to_bitField0_ |= 0x00000010;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.SystemMessageEnvelope) {
          return mergeFrom((akka.remote.ArteryControlFormats.SystemMessageEnvelope)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.SystemMessageEnvelope other) {
        if (other == akka.remote.ArteryControlFormats.SystemMessageEnvelope.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          setMessage(other.getMessage());
        }
        if (other.hasSerializerId()) {
          setSerializerId(other.getSerializerId());
        }
        if (other.hasMessageManifest()) {
          setMessageManifest(other.getMessageManifest());
        }
        if (other.hasSeqNo()) {
          setSeqNo(other.getSeqNo());
        }
        if (other.hasAckReplyTo()) {
          mergeAckReplyTo(other.getAckReplyTo());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasMessage()) {
          return false;
        }
        if (!hasSerializerId()) {
          return false;
        }
        if (!hasSeqNo()) {
          return false;
        }
        if (!hasAckReplyTo()) {
          return false;
        }
        if (!getAckReplyTo().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.SystemMessageEnvelope parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.SystemMessageEnvelope) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.protobufv3.internal.ByteString message_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>required bytes message = 1;</code>
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required bytes message = 1;</code>
       * @return The message.
       */
      public akka.protobufv3.internal.ByteString getMessage() {
        return message_;
      }
      /**
       * <code>required bytes message = 1;</code>
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes message = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }

      private int serializerId_ ;
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return Whether the serializerId field is set.
       */
      public boolean hasSerializerId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return The serializerId.
       */
      public int getSerializerId() {
        return serializerId_;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @param value The serializerId to set.
       * @return This builder for chaining.
       */
      public Builder setSerializerId(int value) {
        bitField0_ |= 0x00000002;
        serializerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 serializerId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSerializerId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serializerId_ = 0;
        onChanged();
        return this;
      }

      private akka.protobufv3.internal.ByteString messageManifest_ = akka.protobufv3.internal.ByteString.EMPTY;
      /**
       * <code>optional bytes messageManifest = 3;</code>
       * @return Whether the messageManifest field is set.
       */
      public boolean hasMessageManifest() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>optional bytes messageManifest = 3;</code>
       * @return The messageManifest.
       */
      public akka.protobufv3.internal.ByteString getMessageManifest() {
        return messageManifest_;
      }
      /**
       * <code>optional bytes messageManifest = 3;</code>
       * @param value The messageManifest to set.
       * @return This builder for chaining.
       */
      public Builder setMessageManifest(akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messageManifest_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes messageManifest = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMessageManifest() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messageManifest_ = getDefaultInstance().getMessageManifest();
        onChanged();
        return this;
      }

      private long seqNo_ ;
      /**
       * <code>required uint64 seqNo = 4;</code>
       * @return Whether the seqNo field is set.
       */
      public boolean hasSeqNo() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required uint64 seqNo = 4;</code>
       * @return The seqNo.
       */
      public long getSeqNo() {
        return seqNo_;
      }
      /**
       * <code>required uint64 seqNo = 4;</code>
       * @param value The seqNo to set.
       * @return This builder for chaining.
       */
      public Builder setSeqNo(long value) {
        bitField0_ |= 0x00000008;
        seqNo_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 seqNo = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearSeqNo() {
        bitField0_ = (bitField0_ & ~0x00000008);
        seqNo_ = 0L;
        onChanged();
        return this;
      }

      private akka.remote.ArteryControlFormats.UniqueAddress ackReplyTo_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> ackReplyToBuilder_;
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       * @return Whether the ackReplyTo field is set.
       */
      public boolean hasAckReplyTo() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       * @return The ackReplyTo.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getAckReplyTo() {
        if (ackReplyToBuilder_ == null) {
          return ackReplyTo_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : ackReplyTo_;
        } else {
          return ackReplyToBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public Builder setAckReplyTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (ackReplyToBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ackReplyTo_ = value;
          onChanged();
        } else {
          ackReplyToBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public Builder setAckReplyTo(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (ackReplyToBuilder_ == null) {
          ackReplyTo_ = builderForValue.build();
          onChanged();
        } else {
          ackReplyToBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public Builder mergeAckReplyTo(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (ackReplyToBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
              ackReplyTo_ != null &&
              ackReplyTo_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            ackReplyTo_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(ackReplyTo_).mergeFrom(value).buildPartial();
          } else {
            ackReplyTo_ = value;
          }
          onChanged();
        } else {
          ackReplyToBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public Builder clearAckReplyTo() {
        if (ackReplyToBuilder_ == null) {
          ackReplyTo_ = null;
          onChanged();
        } else {
          ackReplyToBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getAckReplyToBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getAckReplyToFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getAckReplyToOrBuilder() {
        if (ackReplyToBuilder_ != null) {
          return ackReplyToBuilder_.getMessageOrBuilder();
        } else {
          return ackReplyTo_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : ackReplyTo_;
        }
      }
      /**
       * <code>required .UniqueAddress ackReplyTo = 5;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getAckReplyToFieldBuilder() {
        if (ackReplyToBuilder_ == null) {
          ackReplyToBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getAckReplyTo(),
                  getParentForChildren(),
                  isClean());
          ackReplyTo_ = null;
        }
        return ackReplyToBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:SystemMessageEnvelope)
    }

    // @@protoc_insertion_point(class_scope:SystemMessageEnvelope)
    private static final akka.remote.ArteryControlFormats.SystemMessageEnvelope DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.SystemMessageEnvelope();
    }

    public static akka.remote.ArteryControlFormats.SystemMessageEnvelope getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<SystemMessageEnvelope>
        PARSER = new akka.protobufv3.internal.AbstractParser<SystemMessageEnvelope>() {
      @java.lang.Override
      public SystemMessageEnvelope parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new SystemMessageEnvelope(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<SystemMessageEnvelope> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<SystemMessageEnvelope> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.SystemMessageEnvelope getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SystemMessageDeliveryAckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SystemMessageDeliveryAck)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required uint64 seqNo = 1;</code>
     * @return Whether the seqNo field is set.
     */
    boolean hasSeqNo();
    /**
     * <code>required uint64 seqNo = 1;</code>
     * @return The seqNo.
     */
    long getSeqNo();

    /**
     * <code>required .UniqueAddress from = 2;</code>
     * @return Whether the from field is set.
     */
    boolean hasFrom();
    /**
     * <code>required .UniqueAddress from = 2;</code>
     * @return The from.
     */
    akka.remote.ArteryControlFormats.UniqueAddress getFrom();
    /**
     * <code>required .UniqueAddress from = 2;</code>
     */
    akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder();
  }
  /**
   * <pre>
   * SystemMessageDelivery.Ack
   * SystemMessageDelivery.Nack
   * </pre>
   *
   * Protobuf type {@code SystemMessageDeliveryAck}
   */
  public  static final class SystemMessageDeliveryAck extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SystemMessageDeliveryAck)
      SystemMessageDeliveryAckOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SystemMessageDeliveryAck.newBuilder() to construct.
    private SystemMessageDeliveryAck(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SystemMessageDeliveryAck() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new SystemMessageDeliveryAck();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private SystemMessageDeliveryAck(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              bitField0_ |= 0x00000001;
              seqNo_ = input.readUInt64();
              break;
            }
            case 18: {
              akka.remote.ArteryControlFormats.UniqueAddress.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = from_.toBuilder();
              }
              from_ = input.readMessage(akka.remote.ArteryControlFormats.UniqueAddress.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(from_);
                from_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.class, akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.Builder.class);
    }

    private int bitField0_;
    public static final int SEQNO_FIELD_NUMBER = 1;
    private long seqNo_;
    /**
     * <code>required uint64 seqNo = 1;</code>
     * @return Whether the seqNo field is set.
     */
    public boolean hasSeqNo() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint64 seqNo = 1;</code>
     * @return The seqNo.
     */
    public long getSeqNo() {
      return seqNo_;
    }

    public static final int FROM_FIELD_NUMBER = 2;
    private akka.remote.ArteryControlFormats.UniqueAddress from_;
    /**
     * <code>required .UniqueAddress from = 2;</code>
     * @return Whether the from field is set.
     */
    public boolean hasFrom() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .UniqueAddress from = 2;</code>
     * @return The from.
     */
    public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }
    /**
     * <code>required .UniqueAddress from = 2;</code>
     */
    public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
      return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
    }

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

      if (!hasSeqNo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFrom()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getFrom().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, seqNo_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getFrom());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(1, seqNo_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(2, getFrom());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.SystemMessageDeliveryAck)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.SystemMessageDeliveryAck other = (akka.remote.ArteryControlFormats.SystemMessageDeliveryAck) obj;

      if (hasSeqNo() != other.hasSeqNo()) return false;
      if (hasSeqNo()) {
        if (getSeqNo()
            != other.getSeqNo()) return false;
      }
      if (hasFrom() != other.hasFrom()) return false;
      if (hasFrom()) {
        if (!getFrom()
            .equals(other.getFrom())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSeqNo()) {
        hash = (37 * hash) + SEQNO_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getSeqNo());
      }
      if (hasFrom()) {
        hash = (37 * hash) + FROM_FIELD_NUMBER;
        hash = (53 * hash) + getFrom().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.SystemMessageDeliveryAck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * SystemMessageDelivery.Ack
     * SystemMessageDelivery.Nack
     * </pre>
     *
     * Protobuf type {@code SystemMessageDeliveryAck}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SystemMessageDeliveryAck)
        akka.remote.ArteryControlFormats.SystemMessageDeliveryAckOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.class, akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getFromFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        seqNo_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (fromBuilder_ == null) {
          from_ = null;
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_SystemMessageDeliveryAck_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck build() {
        akka.remote.ArteryControlFormats.SystemMessageDeliveryAck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck buildPartial() {
        akka.remote.ArteryControlFormats.SystemMessageDeliveryAck result = new akka.remote.ArteryControlFormats.SystemMessageDeliveryAck(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.seqNo_ = seqNo_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (fromBuilder_ == null) {
            result.from_ = from_;
          } else {
            result.from_ = fromBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.SystemMessageDeliveryAck) {
          return mergeFrom((akka.remote.ArteryControlFormats.SystemMessageDeliveryAck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.SystemMessageDeliveryAck other) {
        if (other == akka.remote.ArteryControlFormats.SystemMessageDeliveryAck.getDefaultInstance()) return this;
        if (other.hasSeqNo()) {
          setSeqNo(other.getSeqNo());
        }
        if (other.hasFrom()) {
          mergeFrom(other.getFrom());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasSeqNo()) {
          return false;
        }
        if (!hasFrom()) {
          return false;
        }
        if (!getFrom().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.SystemMessageDeliveryAck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.SystemMessageDeliveryAck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long seqNo_ ;
      /**
       * <code>required uint64 seqNo = 1;</code>
       * @return Whether the seqNo field is set.
       */
      public boolean hasSeqNo() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required uint64 seqNo = 1;</code>
       * @return The seqNo.
       */
      public long getSeqNo() {
        return seqNo_;
      }
      /**
       * <code>required uint64 seqNo = 1;</code>
       * @param value The seqNo to set.
       * @return This builder for chaining.
       */
      public Builder setSeqNo(long value) {
        bitField0_ |= 0x00000001;
        seqNo_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 seqNo = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearSeqNo() {
        bitField0_ = (bitField0_ & ~0x00000001);
        seqNo_ = 0L;
        onChanged();
        return this;
      }

      private akka.remote.ArteryControlFormats.UniqueAddress from_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> fromBuilder_;
      /**
       * <code>required .UniqueAddress from = 2;</code>
       * @return Whether the from field is set.
       */
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       * @return The from.
       */
      public akka.remote.ArteryControlFormats.UniqueAddress getFrom() {
        if (fromBuilder_ == null) {
          return from_ == null ? akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        } else {
          return fromBuilder_.getMessage();
        }
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public Builder setFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          from_ = value;
          onChanged();
        } else {
          fromBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public Builder setFrom(
          akka.remote.ArteryControlFormats.UniqueAddress.Builder builderForValue) {
        if (fromBuilder_ == null) {
          from_ = builderForValue.build();
          onChanged();
        } else {
          fromBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress value) {
        if (fromBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              from_ != null &&
              from_ != akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) {
            from_ =
              akka.remote.ArteryControlFormats.UniqueAddress.newBuilder(from_).mergeFrom(value).buildPartial();
          } else {
            from_ = value;
          }
          onChanged();
        } else {
          fromBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public Builder clearFrom() {
        if (fromBuilder_ == null) {
          from_ = null;
          onChanged();
        } else {
          fromBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddress.Builder getFromBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getFromFieldBuilder().getBuilder();
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      public akka.remote.ArteryControlFormats.UniqueAddressOrBuilder getFromOrBuilder() {
        if (fromBuilder_ != null) {
          return fromBuilder_.getMessageOrBuilder();
        } else {
          return from_ == null ?
              akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance() : from_;
        }
      }
      /**
       * <code>required .UniqueAddress from = 2;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder> 
          getFromFieldBuilder() {
        if (fromBuilder_ == null) {
          fromBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.UniqueAddress, akka.remote.ArteryControlFormats.UniqueAddress.Builder, akka.remote.ArteryControlFormats.UniqueAddressOrBuilder>(
                  getFrom(),
                  getParentForChildren(),
                  isClean());
          from_ = null;
        }
        return fromBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:SystemMessageDeliveryAck)
    }

    // @@protoc_insertion_point(class_scope:SystemMessageDeliveryAck)
    private static final akka.remote.ArteryControlFormats.SystemMessageDeliveryAck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.SystemMessageDeliveryAck();
    }

    public static akka.remote.ArteryControlFormats.SystemMessageDeliveryAck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<SystemMessageDeliveryAck>
        PARSER = new akka.protobufv3.internal.AbstractParser<SystemMessageDeliveryAck>() {
      @java.lang.Override
      public SystemMessageDeliveryAck parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new SystemMessageDeliveryAck(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<SystemMessageDeliveryAck> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<SystemMessageDeliveryAck> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.SystemMessageDeliveryAck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface AddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:Address)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required string protocol = 1;</code>
     * @return Whether the protocol field is set.
     */
    boolean hasProtocol();
    /**
     * <code>required string protocol = 1;</code>
     * @return The protocol.
     */
    java.lang.String getProtocol();
    /**
     * <code>required string protocol = 1;</code>
     * @return The bytes for protocol.
     */
    akka.protobufv3.internal.ByteString
        getProtocolBytes();

    /**
     * <code>required string system = 2;</code>
     * @return Whether the system field is set.
     */
    boolean hasSystem();
    /**
     * <code>required string system = 2;</code>
     * @return The system.
     */
    java.lang.String getSystem();
    /**
     * <code>required string system = 2;</code>
     * @return The bytes for system.
     */
    akka.protobufv3.internal.ByteString
        getSystemBytes();

    /**
     * <code>required string hostname = 3;</code>
     * @return Whether the hostname field is set.
     */
    boolean hasHostname();
    /**
     * <code>required string hostname = 3;</code>
     * @return The hostname.
     */
    java.lang.String getHostname();
    /**
     * <code>required string hostname = 3;</code>
     * @return The bytes for hostname.
     */
    akka.protobufv3.internal.ByteString
        getHostnameBytes();

    /**
     * <code>required uint32 port = 4;</code>
     * @return Whether the port field is set.
     */
    boolean hasPort();
    /**
     * <code>required uint32 port = 4;</code>
     * @return The port.
     */
    int getPort();
  }
  /**
   * <pre>
   **
   * Defines a remote address.
   * </pre>
   *
   * Protobuf type {@code Address}
   */
  public  static final class Address extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:Address)
      AddressOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use Address.newBuilder() to construct.
    private Address(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Address() {
      protocol_ = "";
      system_ = "";
      hostname_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new Address();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private Address(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              protocol_ = bs;
              break;
            }
            case 18: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              system_ = bs;
              break;
            }
            case 26: {
              akka.protobufv3.internal.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              hostname_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              port_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_Address_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.Address.class, akka.remote.ArteryControlFormats.Address.Builder.class);
    }

    private int bitField0_;
    public static final int PROTOCOL_FIELD_NUMBER = 1;
    private volatile java.lang.Object protocol_;
    /**
     * <code>required string protocol = 1;</code>
     * @return Whether the protocol field is set.
     */
    public boolean hasProtocol() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string protocol = 1;</code>
     * @return The protocol.
     */
    public java.lang.String getProtocol() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          protocol_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string protocol = 1;</code>
     * @return The bytes for protocol.
     */
    public akka.protobufv3.internal.ByteString
        getProtocolBytes() {
      java.lang.Object ref = protocol_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        protocol_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int SYSTEM_FIELD_NUMBER = 2;
    private volatile java.lang.Object system_;
    /**
     * <code>required string system = 2;</code>
     * @return Whether the system field is set.
     */
    public boolean hasSystem() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required string system = 2;</code>
     * @return The system.
     */
    public java.lang.String getSystem() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          system_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string system = 2;</code>
     * @return The bytes for system.
     */
    public akka.protobufv3.internal.ByteString
        getSystemBytes() {
      java.lang.Object ref = system_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        system_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int HOSTNAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object hostname_;
    /**
     * <code>required string hostname = 3;</code>
     * @return Whether the hostname field is set.
     */
    public boolean hasHostname() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required string hostname = 3;</code>
     * @return The hostname.
     */
    public java.lang.String getHostname() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        akka.protobufv3.internal.ByteString bs = 
            (akka.protobufv3.internal.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          hostname_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string hostname = 3;</code>
     * @return The bytes for hostname.
     */
    public akka.protobufv3.internal.ByteString
        getHostnameBytes() {
      java.lang.Object ref = hostname_;
      if (ref instanceof java.lang.String) {
        akka.protobufv3.internal.ByteString b = 
            akka.protobufv3.internal.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hostname_ = b;
        return b;
      } else {
        return (akka.protobufv3.internal.ByteString) ref;
      }
    }

    public static final int PORT_FIELD_NUMBER = 4;
    private int port_;
    /**
     * <code>required uint32 port = 4;</code>
     * @return Whether the port field is set.
     */
    public boolean hasPort() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>required uint32 port = 4;</code>
     * @return The port.
     */
    public int getPort() {
      return port_;
    }

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

      if (!hasProtocol()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasSystem()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasHostname()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPort()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 1, protocol_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 2, system_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        akka.protobufv3.internal.GeneratedMessageV3.writeString(output, 3, hostname_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, port_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(1, protocol_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(2, system_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += akka.protobufv3.internal.GeneratedMessageV3.computeStringSize(3, hostname_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt32Size(4, port_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.Address)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.Address other = (akka.remote.ArteryControlFormats.Address) obj;

      if (hasProtocol() != other.hasProtocol()) return false;
      if (hasProtocol()) {
        if (!getProtocol()
            .equals(other.getProtocol())) return false;
      }
      if (hasSystem() != other.hasSystem()) return false;
      if (hasSystem()) {
        if (!getSystem()
            .equals(other.getSystem())) return false;
      }
      if (hasHostname() != other.hasHostname()) return false;
      if (hasHostname()) {
        if (!getHostname()
            .equals(other.getHostname())) return false;
      }
      if (hasPort() != other.hasPort()) return false;
      if (hasPort()) {
        if (getPort()
            != other.getPort()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasProtocol()) {
        hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
        hash = (53 * hash) + getProtocol().hashCode();
      }
      if (hasSystem()) {
        hash = (37 * hash) + SYSTEM_FIELD_NUMBER;
        hash = (53 * hash) + getSystem().hashCode();
      }
      if (hasHostname()) {
        hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
        hash = (53 * hash) + getHostname().hashCode();
      }
      if (hasPort()) {
        hash = (37 * hash) + PORT_FIELD_NUMBER;
        hash = (53 * hash) + getPort();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.Address parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Address parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Address parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.Address parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.Address prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     **
     * Defines a remote address.
     * </pre>
     *
     * Protobuf type {@code Address}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:Address)
        akka.remote.ArteryControlFormats.AddressOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_Address_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.Address.class, akka.remote.ArteryControlFormats.Address.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.Address.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        protocol_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        system_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        hostname_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        port_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_Address_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Address getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.Address.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Address build() {
        akka.remote.ArteryControlFormats.Address result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.Address buildPartial() {
        akka.remote.ArteryControlFormats.Address result = new akka.remote.ArteryControlFormats.Address(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          to_bitField0_ |= 0x00000001;
        }
        result.protocol_ = protocol_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.system_ = system_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.hostname_ = hostname_;
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.port_ = port_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.Address) {
          return mergeFrom((akka.remote.ArteryControlFormats.Address)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.Address other) {
        if (other == akka.remote.ArteryControlFormats.Address.getDefaultInstance()) return this;
        if (other.hasProtocol()) {
          bitField0_ |= 0x00000001;
          protocol_ = other.protocol_;
          onChanged();
        }
        if (other.hasSystem()) {
          bitField0_ |= 0x00000002;
          system_ = other.system_;
          onChanged();
        }
        if (other.hasHostname()) {
          bitField0_ |= 0x00000004;
          hostname_ = other.hostname_;
          onChanged();
        }
        if (other.hasPort()) {
          setPort(other.getPort());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasProtocol()) {
          return false;
        }
        if (!hasSystem()) {
          return false;
        }
        if (!hasHostname()) {
          return false;
        }
        if (!hasPort()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.Address parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.Address) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object protocol_ = "";
      /**
       * <code>required string protocol = 1;</code>
       * @return Whether the protocol field is set.
       */
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The protocol.
       */
      public java.lang.String getProtocol() {
        java.lang.Object ref = protocol_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            protocol_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return The bytes for protocol.
       */
      public akka.protobufv3.internal.ByteString
          getProtocolBytes() {
        java.lang.Object ref = protocol_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          protocol_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string protocol = 1;</code>
       * @param value The protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocol(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        protocol_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string protocol = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProtocol() {
        bitField0_ = (bitField0_ & ~0x00000001);
        protocol_ = getDefaultInstance().getProtocol();
        onChanged();
        return this;
      }
      /**
       * <code>required string protocol = 1;</code>
       * @param value The bytes for protocol to set.
       * @return This builder for chaining.
       */
      public Builder setProtocolBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        protocol_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object system_ = "";
      /**
       * <code>required string system = 2;</code>
       * @return Whether the system field is set.
       */
      public boolean hasSystem() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required string system = 2;</code>
       * @return The system.
       */
      public java.lang.String getSystem() {
        java.lang.Object ref = system_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            system_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string system = 2;</code>
       * @return The bytes for system.
       */
      public akka.protobufv3.internal.ByteString
          getSystemBytes() {
        java.lang.Object ref = system_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          system_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string system = 2;</code>
       * @param value The system to set.
       * @return This builder for chaining.
       */
      public Builder setSystem(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        system_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSystem() {
        bitField0_ = (bitField0_ & ~0x00000002);
        system_ = getDefaultInstance().getSystem();
        onChanged();
        return this;
      }
      /**
       * <code>required string system = 2;</code>
       * @param value The bytes for system to set.
       * @return This builder for chaining.
       */
      public Builder setSystemBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        system_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object hostname_ = "";
      /**
       * <code>required string hostname = 3;</code>
       * @return Whether the hostname field is set.
       */
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return The hostname.
       */
      public java.lang.String getHostname() {
        java.lang.Object ref = hostname_;
        if (!(ref instanceof java.lang.String)) {
          akka.protobufv3.internal.ByteString bs =
              (akka.protobufv3.internal.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            hostname_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return The bytes for hostname.
       */
      public akka.protobufv3.internal.ByteString
          getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          akka.protobufv3.internal.ByteString b = 
              akka.protobufv3.internal.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostname_ = b;
          return b;
        } else {
          return (akka.protobufv3.internal.ByteString) ref;
        }
      }
      /**
       * <code>required string hostname = 3;</code>
       * @param value The hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        hostname_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearHostname() {
        bitField0_ = (bitField0_ & ~0x00000004);
        hostname_ = getDefaultInstance().getHostname();
        onChanged();
        return this;
      }
      /**
       * <code>required string hostname = 3;</code>
       * @param value The bytes for hostname to set.
       * @return This builder for chaining.
       */
      public Builder setHostnameBytes(
          akka.protobufv3.internal.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        hostname_ = value;
        onChanged();
        return this;
      }

      private int port_ ;
      /**
       * <code>required uint32 port = 4;</code>
       * @return Whether the port field is set.
       */
      public boolean hasPort() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @return The port.
       */
      public int getPort() {
        return port_;
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @param value The port to set.
       * @return This builder for chaining.
       */
      public Builder setPort(int value) {
        bitField0_ |= 0x00000008;
        port_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint32 port = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearPort() {
        bitField0_ = (bitField0_ & ~0x00000008);
        port_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:Address)
    }

    // @@protoc_insertion_point(class_scope:Address)
    private static final akka.remote.ArteryControlFormats.Address DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.Address();
    }

    public static akka.remote.ArteryControlFormats.Address getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<Address>
        PARSER = new akka.protobufv3.internal.AbstractParser<Address>() {
      @java.lang.Override
      public Address parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new Address(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<Address> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<Address> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.Address getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UniqueAddressOrBuilder extends
      // @@protoc_insertion_point(interface_extends:UniqueAddress)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required .Address address = 1;</code>
     * @return Whether the address field is set.
     */
    boolean hasAddress();
    /**
     * <code>required .Address address = 1;</code>
     * @return The address.
     */
    akka.remote.ArteryControlFormats.Address getAddress();
    /**
     * <code>required .Address address = 1;</code>
     */
    akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder();

    /**
     * <code>required uint64 uid = 2;</code>
     * @return Whether the uid field is set.
     */
    boolean hasUid();
    /**
     * <code>required uint64 uid = 2;</code>
     * @return The uid.
     */
    long getUid();
  }
  /**
   * <pre>
   **
   * Defines a remote address with uid.
   * </pre>
   *
   * Protobuf type {@code UniqueAddress}
   */
  public  static final class UniqueAddress extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:UniqueAddress)
      UniqueAddressOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UniqueAddress.newBuilder() to construct.
    private UniqueAddress(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private UniqueAddress() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new UniqueAddress();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private UniqueAddress(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              akka.remote.ArteryControlFormats.Address.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = address_.toBuilder();
              }
              address_ = input.readMessage(akka.remote.ArteryControlFormats.Address.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(address_);
                address_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              uid_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.UniqueAddress.class, akka.remote.ArteryControlFormats.UniqueAddress.Builder.class);
    }

    private int bitField0_;
    public static final int ADDRESS_FIELD_NUMBER = 1;
    private akka.remote.ArteryControlFormats.Address address_;
    /**
     * <code>required .Address address = 1;</code>
     * @return Whether the address field is set.
     */
    public boolean hasAddress() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .Address address = 1;</code>
     * @return The address.
     */
    public akka.remote.ArteryControlFormats.Address getAddress() {
      return address_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : address_;
    }
    /**
     * <code>required .Address address = 1;</code>
     */
    public akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder() {
      return address_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : address_;
    }

    public static final int UID_FIELD_NUMBER = 2;
    private long uid_;
    /**
     * <code>required uint64 uid = 2;</code>
     * @return Whether the uid field is set.
     */
    public boolean hasUid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required uint64 uid = 2;</code>
     * @return The uid.
     */
    public long getUid() {
      return uid_;
    }

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

      if (!hasAddress()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasUid()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getAddress().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, uid_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeMessageSize(1, getAddress());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(2, uid_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.UniqueAddress)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.UniqueAddress other = (akka.remote.ArteryControlFormats.UniqueAddress) obj;

      if (hasAddress() != other.hasAddress()) return false;
      if (hasAddress()) {
        if (!getAddress()
            .equals(other.getAddress())) return false;
      }
      if (hasUid() != other.hasUid()) return false;
      if (hasUid()) {
        if (getUid()
            != other.getUid()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAddress()) {
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
      }
      if (hasUid()) {
        hash = (37 * hash) + UID_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getUid());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.UniqueAddress parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.UniqueAddress prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     **
     * Defines a remote address with uid.
     * </pre>
     *
     * Protobuf type {@code UniqueAddress}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:UniqueAddress)
        akka.remote.ArteryControlFormats.UniqueAddressOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.UniqueAddress.class, akka.remote.ArteryControlFormats.UniqueAddress.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.UniqueAddress.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAddressFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (addressBuilder_ == null) {
          address_ = null;
        } else {
          addressBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        uid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_UniqueAddress_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.UniqueAddress getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.UniqueAddress build() {
        akka.remote.ArteryControlFormats.UniqueAddress result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.UniqueAddress buildPartial() {
        akka.remote.ArteryControlFormats.UniqueAddress result = new akka.remote.ArteryControlFormats.UniqueAddress(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (addressBuilder_ == null) {
            result.address_ = address_;
          } else {
            result.address_ = addressBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.uid_ = uid_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.UniqueAddress) {
          return mergeFrom((akka.remote.ArteryControlFormats.UniqueAddress)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.UniqueAddress other) {
        if (other == akka.remote.ArteryControlFormats.UniqueAddress.getDefaultInstance()) return this;
        if (other.hasAddress()) {
          mergeAddress(other.getAddress());
        }
        if (other.hasUid()) {
          setUid(other.getUid());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasAddress()) {
          return false;
        }
        if (!hasUid()) {
          return false;
        }
        if (!getAddress().isInitialized()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.UniqueAddress parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.UniqueAddress) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private akka.remote.ArteryControlFormats.Address address_;
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder> addressBuilder_;
      /**
       * <code>required .Address address = 1;</code>
       * @return Whether the address field is set.
       */
      public boolean hasAddress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required .Address address = 1;</code>
       * @return The address.
       */
      public akka.remote.ArteryControlFormats.Address getAddress() {
        if (addressBuilder_ == null) {
          return address_ == null ? akka.remote.ArteryControlFormats.Address.getDefaultInstance() : address_;
        } else {
          return addressBuilder_.getMessage();
        }
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder setAddress(akka.remote.ArteryControlFormats.Address value) {
        if (addressBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          address_ = value;
          onChanged();
        } else {
          addressBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder setAddress(
          akka.remote.ArteryControlFormats.Address.Builder builderForValue) {
        if (addressBuilder_ == null) {
          address_ = builderForValue.build();
          onChanged();
        } else {
          addressBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder mergeAddress(akka.remote.ArteryControlFormats.Address value) {
        if (addressBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              address_ != null &&
              address_ != akka.remote.ArteryControlFormats.Address.getDefaultInstance()) {
            address_ =
              akka.remote.ArteryControlFormats.Address.newBuilder(address_).mergeFrom(value).buildPartial();
          } else {
            address_ = value;
          }
          onChanged();
        } else {
          addressBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public Builder clearAddress() {
        if (addressBuilder_ == null) {
          address_ = null;
          onChanged();
        } else {
          addressBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public akka.remote.ArteryControlFormats.Address.Builder getAddressBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getAddressFieldBuilder().getBuilder();
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      public akka.remote.ArteryControlFormats.AddressOrBuilder getAddressOrBuilder() {
        if (addressBuilder_ != null) {
          return addressBuilder_.getMessageOrBuilder();
        } else {
          return address_ == null ?
              akka.remote.ArteryControlFormats.Address.getDefaultInstance() : address_;
        }
      }
      /**
       * <code>required .Address address = 1;</code>
       */
      private akka.protobufv3.internal.SingleFieldBuilderV3<
          akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder> 
          getAddressFieldBuilder() {
        if (addressBuilder_ == null) {
          addressBuilder_ = new akka.protobufv3.internal.SingleFieldBuilderV3<
              akka.remote.ArteryControlFormats.Address, akka.remote.ArteryControlFormats.Address.Builder, akka.remote.ArteryControlFormats.AddressOrBuilder>(
                  getAddress(),
                  getParentForChildren(),
                  isClean());
          address_ = null;
        }
        return addressBuilder_;
      }

      private long uid_ ;
      /**
       * <code>required uint64 uid = 2;</code>
       * @return Whether the uid field is set.
       */
      public boolean hasUid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required uint64 uid = 2;</code>
       * @return The uid.
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <code>required uint64 uid = 2;</code>
       * @param value The uid to set.
       * @return This builder for chaining.
       */
      public Builder setUid(long value) {
        bitField0_ |= 0x00000002;
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 uid = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearUid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        uid_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:UniqueAddress)
    }

    // @@protoc_insertion_point(class_scope:UniqueAddress)
    private static final akka.remote.ArteryControlFormats.UniqueAddress DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.UniqueAddress();
    }

    public static akka.remote.ArteryControlFormats.UniqueAddress getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<UniqueAddress>
        PARSER = new akka.protobufv3.internal.AbstractParser<UniqueAddress>() {
      @java.lang.Override
      public UniqueAddress parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new UniqueAddress(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<UniqueAddress> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<UniqueAddress> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.UniqueAddress getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ArteryHeartbeatRspOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ArteryHeartbeatRsp)
      akka.protobufv3.internal.MessageOrBuilder {

    /**
     * <code>required uint64 uid = 1;</code>
     * @return Whether the uid field is set.
     */
    boolean hasUid();
    /**
     * <code>required uint64 uid = 1;</code>
     * @return The uid.
     */
    long getUid();
  }
  /**
   * <pre>
   * RemoteWatcher.ArteryHeartbeat is empty array
   * RemoteWatcher.ArteryHeartbeatRsp
   * </pre>
   *
   * Protobuf type {@code ArteryHeartbeatRsp}
   */
  public  static final class ArteryHeartbeatRsp extends
      akka.protobufv3.internal.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ArteryHeartbeatRsp)
      ArteryHeartbeatRspOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ArteryHeartbeatRsp.newBuilder() to construct.
    private ArteryHeartbeatRsp(akka.protobufv3.internal.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ArteryHeartbeatRsp() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        akka.protobufv3.internal.GeneratedMessageV3.UnusedPrivateParameter unused) {
      return new ArteryHeartbeatRsp();
    }

    @java.lang.Override
    public final akka.protobufv3.internal.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ArteryHeartbeatRsp(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      akka.protobufv3.internal.UnknownFieldSet.Builder unknownFields =
          akka.protobufv3.internal.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              bitField0_ |= 0x00000001;
              uid_ = input.readUInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new akka.protobufv3.internal.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final akka.protobufv3.internal.Descriptors.Descriptor
        getDescriptor() {
      return akka.remote.ArteryControlFormats.internal_static_ArteryHeartbeatRsp_descriptor;
    }

    @java.lang.Override
    protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return akka.remote.ArteryControlFormats.internal_static_ArteryHeartbeatRsp_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.class, akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.Builder.class);
    }

    private int bitField0_;
    public static final int UID_FIELD_NUMBER = 1;
    private long uid_;
    /**
     * <code>required uint64 uid = 1;</code>
     * @return Whether the uid field is set.
     */
    public boolean hasUid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required uint64 uid = 1;</code>
     * @return The uid.
     */
    public long getUid() {
      return uid_;
    }

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

      if (!hasUid()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(akka.protobufv3.internal.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, uid_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += akka.protobufv3.internal.CodedOutputStream
          .computeUInt64Size(1, uid_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof akka.remote.ArteryControlFormats.ArteryHeartbeatRsp)) {
        return super.equals(obj);
      }
      akka.remote.ArteryControlFormats.ArteryHeartbeatRsp other = (akka.remote.ArteryControlFormats.ArteryHeartbeatRsp) obj;

      if (hasUid() != other.hasUid()) return false;
      if (hasUid()) {
        if (getUid()
            != other.getUid()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUid()) {
        hash = (37 * hash) + UID_FIELD_NUMBER;
        hash = (53 * hash) + akka.protobufv3.internal.Internal.hashLong(
            getUid());
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        java.nio.ByteBuffer data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        java.nio.ByteBuffer data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        akka.protobufv3.internal.ByteString data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        akka.protobufv3.internal.ByteString data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(byte[] data)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        byte[] data,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws akka.protobufv3.internal.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseDelimitedFrom(
        java.io.InputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        akka.protobufv3.internal.CodedInputStream input)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parseFrom(
        akka.protobufv3.internal.CodedInputStream input,
        akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return akka.protobufv3.internal.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(akka.remote.ArteryControlFormats.ArteryHeartbeatRsp prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * RemoteWatcher.ArteryHeartbeat is empty array
     * RemoteWatcher.ArteryHeartbeatRsp
     * </pre>
     *
     * Protobuf type {@code ArteryHeartbeatRsp}
     */
    public static final class Builder extends
        akka.protobufv3.internal.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ArteryHeartbeatRsp)
        akka.remote.ArteryControlFormats.ArteryHeartbeatRspOrBuilder {
      public static final akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptor() {
        return akka.remote.ArteryControlFormats.internal_static_ArteryHeartbeatRsp_descriptor;
      }

      @java.lang.Override
      protected akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return akka.remote.ArteryControlFormats.internal_static_ArteryHeartbeatRsp_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.class, akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.Builder.class);
      }

      // Construct using akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          akka.protobufv3.internal.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (akka.protobufv3.internal.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        uid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public akka.protobufv3.internal.Descriptors.Descriptor
          getDescriptorForType() {
        return akka.remote.ArteryControlFormats.internal_static_ArteryHeartbeatRsp_descriptor;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.ArteryHeartbeatRsp getDefaultInstanceForType() {
        return akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.getDefaultInstance();
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.ArteryHeartbeatRsp build() {
        akka.remote.ArteryControlFormats.ArteryHeartbeatRsp result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public akka.remote.ArteryControlFormats.ArteryHeartbeatRsp buildPartial() {
        akka.remote.ArteryControlFormats.ArteryHeartbeatRsp result = new akka.remote.ArteryControlFormats.ArteryHeartbeatRsp(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.uid_ = uid_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          akka.protobufv3.internal.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          akka.protobufv3.internal.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(akka.protobufv3.internal.Message other) {
        if (other instanceof akka.remote.ArteryControlFormats.ArteryHeartbeatRsp) {
          return mergeFrom((akka.remote.ArteryControlFormats.ArteryHeartbeatRsp)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(akka.remote.ArteryControlFormats.ArteryHeartbeatRsp other) {
        if (other == akka.remote.ArteryControlFormats.ArteryHeartbeatRsp.getDefaultInstance()) return this;
        if (other.hasUid()) {
          setUid(other.getUid());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        akka.remote.ArteryControlFormats.ArteryHeartbeatRsp parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (akka.protobufv3.internal.InvalidProtocolBufferException e) {
          parsedMessage = (akka.remote.ArteryControlFormats.ArteryHeartbeatRsp) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long uid_ ;
      /**
       * <code>required uint64 uid = 1;</code>
       * @return Whether the uid field is set.
       */
      public boolean hasUid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @return The uid.
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @param value The uid to set.
       * @return This builder for chaining.
       */
      public Builder setUid(long value) {
        bitField0_ |= 0x00000001;
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required uint64 uid = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearUid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        uid_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final akka.protobufv3.internal.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ArteryHeartbeatRsp)
    }

    // @@protoc_insertion_point(class_scope:ArteryHeartbeatRsp)
    private static final akka.remote.ArteryControlFormats.ArteryHeartbeatRsp DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new akka.remote.ArteryControlFormats.ArteryHeartbeatRsp();
    }

    public static akka.remote.ArteryControlFormats.ArteryHeartbeatRsp getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final akka.protobufv3.internal.Parser<ArteryHeartbeatRsp>
        PARSER = new akka.protobufv3.internal.AbstractParser<ArteryHeartbeatRsp>() {
      @java.lang.Override
      public ArteryHeartbeatRsp parsePartialFrom(
          akka.protobufv3.internal.CodedInputStream input,
          akka.protobufv3.internal.ExtensionRegistryLite extensionRegistry)
          throws akka.protobufv3.internal.InvalidProtocolBufferException {
        return new ArteryHeartbeatRsp(input, extensionRegistry);
      }
    };

    public static akka.protobufv3.internal.Parser<ArteryHeartbeatRsp> parser() {
      return PARSER;
    }

    @java.lang.Override
    public akka.protobufv3.internal.Parser<ArteryHeartbeatRsp> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public akka.remote.ArteryControlFormats.ArteryHeartbeatRsp getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Quarantined_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Quarantined_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_MessageWithAddress_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_MessageWithAddress_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_HandshakeReq_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_HandshakeReq_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_CompressionTableAdvertisement_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_CompressionTableAdvertisement_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_CompressionTableAdvertisementAck_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_CompressionTableAdvertisementAck_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_SystemMessageEnvelope_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_SystemMessageEnvelope_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_SystemMessageDeliveryAck_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_SystemMessageDeliveryAck_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_Address_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_Address_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_UniqueAddress_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_UniqueAddress_fieldAccessorTable;
  private static final akka.protobufv3.internal.Descriptors.Descriptor
    internal_static_ArteryHeartbeatRsp_descriptor;
  private static final 
    akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable
      internal_static_ArteryHeartbeatRsp_fieldAccessorTable;

  public static akka.protobufv3.internal.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  akka.protobufv3.internal.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\032ArteryControlFormats.proto\"G\n\013Quaranti" +
      "ned\022\034\n\004from\030\001 \002(\0132\016.UniqueAddress\022\032\n\002to\030" +
      "\002 \002(\0132\016.UniqueAddress\"5\n\022MessageWithAddr" +
      "ess\022\037\n\007address\030\001 \002(\0132\016.UniqueAddress\"B\n\014" +
      "HandshakeReq\022\034\n\004from\030\001 \002(\0132\016.UniqueAddre" +
      "ss\022\024\n\002to\030\002 \002(\0132\010.Address\"\204\001\n\035Compression" +
      "TableAdvertisement\022\034\n\004from\030\001 \002(\0132\016.Uniqu" +
      "eAddress\022\021\n\toriginUid\030\002 \002(\004\022\024\n\014tableVers" +
      "ion\030\003 \002(\r\022\014\n\004keys\030\004 \003(\t\022\016\n\006values\030\005 \003(\r\"" +
      "Q\n CompressionTableAdvertisementAck\022\034\n\004f" +
      "rom\030\001 \002(\0132\016.UniqueAddress\022\017\n\007version\030\002 \002" +
      "(\r\"\212\001\n\025SystemMessageEnvelope\022\017\n\007message\030" +
      "\001 \002(\014\022\024\n\014serializerId\030\002 \002(\005\022\027\n\017messageMa" +
      "nifest\030\003 \001(\014\022\r\n\005seqNo\030\004 \002(\004\022\"\n\nackReplyT" +
      "o\030\005 \002(\0132\016.UniqueAddress\"G\n\030SystemMessage" +
      "DeliveryAck\022\r\n\005seqNo\030\001 \002(\004\022\034\n\004from\030\002 \002(\013" +
      "2\016.UniqueAddress\"K\n\007Address\022\020\n\010protocol\030" +
      "\001 \002(\t\022\016\n\006system\030\002 \002(\t\022\020\n\010hostname\030\003 \002(\t\022" +
      "\014\n\004port\030\004 \002(\r\"7\n\rUniqueAddress\022\031\n\007addres" +
      "s\030\001 \002(\0132\010.Address\022\013\n\003uid\030\002 \002(\004\"!\n\022Artery" +
      "HeartbeatRsp\022\013\n\003uid\030\001 \002(\004B\017\n\013akka.remote" +
      "H\001"
    };
    descriptor = akka.protobufv3.internal.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new akka.protobufv3.internal.Descriptors.FileDescriptor[] {
        });
    internal_static_Quarantined_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_Quarantined_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Quarantined_descriptor,
        new java.lang.String[] { "From", "To", });
    internal_static_MessageWithAddress_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_MessageWithAddress_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_MessageWithAddress_descriptor,
        new java.lang.String[] { "Address", });
    internal_static_HandshakeReq_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_HandshakeReq_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_HandshakeReq_descriptor,
        new java.lang.String[] { "From", "To", });
    internal_static_CompressionTableAdvertisement_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_CompressionTableAdvertisement_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CompressionTableAdvertisement_descriptor,
        new java.lang.String[] { "From", "OriginUid", "TableVersion", "Keys", "Values", });
    internal_static_CompressionTableAdvertisementAck_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_CompressionTableAdvertisementAck_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CompressionTableAdvertisementAck_descriptor,
        new java.lang.String[] { "From", "Version", });
    internal_static_SystemMessageEnvelope_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_SystemMessageEnvelope_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SystemMessageEnvelope_descriptor,
        new java.lang.String[] { "Message", "SerializerId", "MessageManifest", "SeqNo", "AckReplyTo", });
    internal_static_SystemMessageDeliveryAck_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_SystemMessageDeliveryAck_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SystemMessageDeliveryAck_descriptor,
        new java.lang.String[] { "SeqNo", "From", });
    internal_static_Address_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_Address_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_Address_descriptor,
        new java.lang.String[] { "Protocol", "System", "Hostname", "Port", });
    internal_static_UniqueAddress_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_UniqueAddress_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_UniqueAddress_descriptor,
        new java.lang.String[] { "Address", "Uid", });
    internal_static_ArteryHeartbeatRsp_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_ArteryHeartbeatRsp_fieldAccessorTable = new
      akka.protobufv3.internal.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ArteryHeartbeatRsp_descriptor,
        new java.lang.String[] { "Uid", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
